함수가 매개 변수로 특정 대리자를 받았는지 테스트하고 싶습니다. 그것은 NSubstitute와 함께 NUnit에서 가능합니까?NSubstitute를 사용하여 함수가 특정 대리자를 받았는지 테스트하는 방법?
내 인터페이스 :
public interface IMyInterface
{
void Sort(Func<IEnumerable<int>, IOrderedEnumerable<int>> f);
}
내 테스트 클래스 :
[TestFixture]
public class Class1
{
[Test]
public void Sort_WhenCalled_CallsWithPassedArgument()
{
// Arrange
IMyInterface mock = Substitute.For<IMyInterface>();
// Act
mock.Sort(x => x.OrderBy(y => y));
// Assert
mock.Received().Sort(x => x.OrderBy(y => y));
}
}
또한 인자 매처 (matcher)와 시도했지만 항상 실패합니다.
참고 [NS substitute - 특정 linq 표현식 테스트] (http://stackoverflow.com/questions/5654053/nsubstitute-testing-for-a-specific-linq-expression) –
감사합니다. 그것은 내가 예상했던 것이 아니지만, 이제는 생각했던 것처럼 간단하지 않다는 것을 알고 있습니다. –