Sınıf olan bir parametreyi doğrulamaya çalışıyorum. Test edilen kod iyi. Hata test aşamasındadır.
Her ikisi de başarısız olan iki yöntemi denedim.
İşte girişimlerim:
1:
this.MockImageResizeFilter.Verify(m => m.Filter(this.UploadedFileData, new ImageFilterOptions()
{
Width = 256,
Height = 256,
}));
İkinci parametre olarak iletilen bir nesne eşit özelliklere sahip olsa bile bu her zaman başarısız olur. İlk parametrenin iyi olduğu doğrulandı.
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");
}
);
Bu, başarısız olması gerektiğinde bile her zaman geçer. Geri aramadaki Savlar başarısız olur, ancak istisna dış bağlama geçirilmez ve bu nedenle test her zaman geçer.
Neyi yanlış yaptığımı bulmama yardım edebilir misin?
It.Is((ImageFilterOptions p) => p.Width == 256 && p.Height == 256)
. Jenerik yoktuIs