Я пытаюсь проверить параметр, являющийся классом. Тестируемый код в порядке. Ошибка в тесте.
Я пробовал два метода, но оба не дали результатов.
Вот мои попытки:
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");
}
);
Это всегда проходит, даже если не получается. Утверждения в обратном вызове терпят неудачу, но исключение не передается во внешний контекст, и поэтому тест всегда проходит.
Можете ли вы помочь мне найти, что я делаю не так?
источник
It.Is((ImageFilterOptions p) => p.Width == 256 && p.Height == 256)
. Дженерика не былоIs