Saya mencoba memverifikasi parameter yang merupakan kelas. Kode yang sedang diuji baik-baik saja. Bug sedang dalam pengujian.
Saya telah mencoba dua metode, keduanya gagal.
Inilah usaha saya:
1:
this.MockImageResizeFilter.Verify(m => m.Filter(this.UploadedFileData, new ImageFilterOptions()
{
Width = 256,
Height = 256,
}));
Ini selalu gagal, meskipun objek yang dilewatkan sebagai parameter kedua memiliki properti yang sama. Parameter pertama diverifikasi dengan baik.
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");
}
);
Ini selalu berlalu, bahkan ketika seharusnya gagal. Asserts di callback gagal, tetapi pengecualian tidak diteruskan ke konteks luar, sehingga pengujian selalu berhasil.
Dapatkah Anda membantu saya menemukan kesalahan yang saya lakukan?
sumber
It.Is((ImageFilterOptions p) => p.Width == 256 && p.Height == 256)
. Tidak ada generikIs