Мне нужно выполнить единый тест метода, который запрашивает DocumentDb с использованием Linq и использует одну из предопределенных UserDefinedFunction «IS_DEFINED». Когда я пытаюсь отключить этот метод, издеваясь над частью 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]
Я попытался с помощью Expression что-то вроде ниже
Expression<Func<object, bool>> expr = obj => (bool) UserDefinedFunctionProvider.Invoke("IS_DEFINED", obj);
var data = docDbClient.GetDataAsQueryable("some parameters").Where(expr.Compile()(someobject));
Он выдает ошибку «Nullable объект должен иметь значение»
Что является причиной этой ошибки и как это исправить?