2011-02-15 5 views
1

Rhino Mock을 사용하고 있으며 람다 식을 사용하는 호출을 조롱하는 방법을 모르겠습니다. 여기 상황은 다음과 같습니다RhinoMock에 람다 식을 올바르게 예상하는 방법

실제 방법 :

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); 

나는 이것을 실행하고 단계별, MyMethod라는에서 VAR 인터뷰는 null로 설정됩니다. subtestId 값이 정확합니다.

다른 방법이 있습니까?

답변

-3

이것은 아마 대답은 정확하게,하지만 나를 위해 일하게 종료하기 때문에 같은 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); 
관련 문제