Bir sınıf olan bir parametreyi doğrulamaya çalışıyorum. Test edilen kod gayet iyi. Hata testte.Moq nesne parametresiyle doğrulayın
Her ikisi de başarısız olan iki yöntemi denedim. İkinci parametre olarak geçirilen bir nesne eşit özelliklere sahip olsa da,
this.MockImageResizeFilter.Verify(m => m.Filter(this.UploadedFileData, new ImageFilterOptions()
{
Width = 256,
Height = 256,
}));
her zaman başarısız Bu:
1: Burada
benim girişimlerdir. İlk parametre doğrulanmış.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 her zaman geçer, bu başarısız olması gerekir bile. Geri aramadaki Asıllar başarısızdır, ancak istisna dış çerçeveye geçmez ve bu nedenle test her zaman geçer.
Neyi yanlış yaptığımı bulmama yardım edebilir misiniz?
Noktası, sayesinde! – rhughes
Kullanmam gereken sözdizimi şöyle olurdu: 'It.Is ((ImageFilterOptions p) => p.Width == 256 && p.Height == 256)'. Genel bir 'Hayır' oldu – Nemo1024
Genel sürümü benim için çalışıyor ve API belgelerinde http://www.nudoq.org/#!/Packages/Moq/Moq/It/M/Is(TValue) - siz misiniz? Aralığın güncel bir sürümünü kullanma? –