Я намагаюся перевірити параметр, який є класом. Код, що перевіряється, чудовий. Помилка в тесті.
Я спробував два методи, обидва з яких не вдалися.
Ось мої спроби:
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