2016-10-25 2 views
0

Linq를 사용하여 DocumentDb를 쿼리하는 메소드를 유닛 테스트해야하며 사전 정의 된 UserDefinedFunction "IS_DEFINED"중 하나를 사용합니다. 이 메서드는 unittest이 DocumentDb 부분 조롱을 시도 할 때 예외가 throw됩니다 "이 메서드는 Linq 식 내에서 사용자 정의 함수 호출"호출해야합니다.UserDefinedFunction을 이용한 단위 테스트 메소드

public void GetRequiredData() 
{ 
    var data = docDbClient.GetDataAsQueryable("some parameters").Where((bool)UserDefinedFunctionProvider.Invoke("IS_DEFINED"), somefield); 
} 

GetDataAsQueryable 방법 I 조롱 documentDb로부터 데이터를 얻을 수 있지만,이 단위 테스트 범위에서 사용할 수없는 등의 예외 UserDefinedFunctionProvider.Invoke 던진다.

어떻게하면 UDF를 조롱 할 수 있습니까? 이 방법을 단위 테스트 할 수있는 다른 방법이 있습니까?

[업데이트]

나는이 오류의 원인은 무엇

"Null 허용 개체 값이 있어야합니다"그것은 오류가 발생합니다

Expression<Func<object, bool>> expr = obj => (bool) UserDefinedFunctionProvider.Invoke("IS_DEFINED", obj); 

var data = docDbClient.GetDataAsQueryable("some parameters").Where(expr.Compile()(someobject)); 

아래 같은 식 무언가를 사용하여 시도 및 그것을 고치는 방법?

답변

0

현재 UserDefinedFunctionProvider를 통해 UDF를 조롱 할 수 없습니다.