나는 IEnumerable<T>
컬렉션을 가지고 있으며 First<T>()
메서드 호출을 조롱하고 싶습니다. 내가이 작업을 시도하면 다음과 같이 나타납니다.어떻게 Rhino mock을 사용하여 IEnumerable.First <T>() 메소드를 조롱 했습니까?
이전 메서드 인 'IEnumerator.MoveNext();' 던질 때 반환 값 또는 예외가 필요합니다.
나는 아래의 코드를 붙여 오전 :
IEnumerable<T> collection = MockRepository
.GenerateStub<IEnumerable<T>>();
collection
.Stub(x => x.First<T>())
.IgnoreArguments()
.Return(MockRepository.GenerateStub<T>());
을하지만 x.First<T>
위의 예외가 발생합니다. 어떻게 해결합니까? GetEnumerator()
메서드 호출을 조롱하여 IEnumerator
을 반환하려고했습니다. 그것은 어느 쪽도 도움이되지 않았다.
깔끔한 답변입니다. 아, 정적 함수를 모의 할 수 없다는 것을 알았습니다. 그러나 이것은 결코 나를 때리지 못했습니다. 글쎄, IEnumerable 인터페이스를 조롱하지 말라는 제안을 받기 바란다. 그러나, 내가 단위 테스트 케이스를 작성하는 코드가 쓰여지는 방식으로 제가 그렇게하도록 강요합니다. Chris에게 답해 주셔서 감사합니다. – Anee