Как попросить RhinoMock правильно ожидать лямбда-выражения - PullRequest
1 голос
/ 15 февраля 2011

Я использую Rhino Mocks и не знаю, как смоделировать вызов, который принимает лямбда-выражение.Вот ситуация:

Фактический метод:

public void MyMethod (int subtestId) {
var interview = _repository.FindOne(t => t.Survey.Subtests.SingleOrDefault(x => x.Id == subtestId) != null);
...content elided...
}

Пробная попытка:

var interview = new Interview();
_repository.Expect(r => r.FindOne(t => t.Survey.Subtests.SingleOrDefault(x => x.Id == subtestId) != null)).Return(interview);

 var viewModelRetrieved =  _service.MyMethod(subtestId);

Когда я запускаю это и шаг за шагом, для параметра var интервью в MyMethod устанавливается значение null,Значение subtestId является правильным.

Есть ли другой способ сделать это?

Ответы [ 2 ]

0 голосов
/ 05 мая 2011

Возможно, это не совсем точный ответ, но в итоге мне удалось использовать IgnoreArguments () примерно так:

   var interview = new Interview();
    _repository
.Expect(r => r
       .FindOne(t => t.Survey.Subtests.SingleOrDefault(x => x.Id == subtestId) != null))
.IgnoreArguments()
.Return(interview);

     var viewModelRetrieved =  _service.MyMethod(subtestId);
0 голосов
/ 16 марта 2011
...