클래스 인 매개 변수를 확인하려고합니다. 테스트중인 코드는 괜찮습니다. 버그가 테스트 중입니다.
나는 두 가지 방법을 시도했지만 둘 다 실패했습니다.
내 시도는 다음과 같습니다.
1:
this.MockImageResizeFilter.Verify(m => m.Filter(this.UploadedFileData, new ImageFilterOptions()
{
Width = 256,
Height = 256,
}));
두 번째 매개 변수로 전달 된 개체의 속성이 동일하더라도 항상 실패합니다. 첫 번째 매개 변수는 정상적으로 확인됩니다.
2 :
this.MockImageResizeFilter.Setup(m => m.Filter(It.IsAny<byte[]>(), It.IsAny<ImageFilterOptions>()))
.Callback<byte[], ImageFilterOptions>((data, options) =>
{
Assert.AreEqual(this.UploadedFileData, data, "data");
Assert.AreEqual(filterOptions.Width, options.Width, "Width");
Assert.AreEqual(filterOptions.Height, options.Height, "Height");
}
);
이것은 실패해야 할 때에도 항상 통과합니다. 콜백의 Assert는 실패하지만 예외는 외부 컨텍스트로 전달되지 않으므로 테스트는 항상 통과합니다.
내가 뭘 잘못하고 있는지 찾도록 도와 줄 수 있나요?
It.Is((ImageFilterOptions p) => p.Width == 256 && p.Height == 256)
.. 더 일반적인 없었다Is