2016-10-25 1 views
0

Linqを使用してDocumentDbを照会するメソッドをユニットテストする必要があり、定義済みのUserDefinedFunction "IS_DEFINED"のいずれかを使用します。私はこのメソッドをunittestしようとすると、DocumentDbの部分を疑似して、例外がスローされます。 "このメソッドはLinq式内で呼び出され、ユーザー定義の関数を呼び出す必要があります"。UserDefinedFunctionを使用したユニットテストメソッド

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

GetDataAsQueryable方法は、私は嘲笑documentDbからデータを取得するが、それは、ユニットテストの範囲で使用できないように例外がスローUserDefinedFunctionProvider.Invoke。

どのようにしてUDFをモックできますか?この方法をユニットテストできる他の方法はありますか?

[UPDATE]

が、私はこのエラーの理由は何

「のNullableオブジェクトが値を持っている必要があります」それはエラーをスロー

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をモックすることはできません。

関連する問題