के साथ सत्यापित करें मैं कक्षा के पैरामीटर को सत्यापित करने का प्रयास कर रहा हूं। परीक्षण किया जा रहा कोड ठीक है। बग परीक्षण में है।Moq ऑब्जेक्ट पैरामीटर
मैंने दो विधियों की कोशिश की है, जिनमें से दोनों विफल हो गए हैं। ,
this.MockImageResizeFilter.Verify(m => m.Filter(this.UploadedFileData, new ImageFilterOptions()
{
Width = 256,
Height = 256,
}));
यह हमेशा विफल रहता है, भले ही एक वस्तु दूसरा पैरामीटर के रूप में पारित बराबर गुण है:
1:
यहाँ मेरी प्रयास कर रहे हैं। पहला पैरामीटर ठीक से सत्यापित है।
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");
}
);
यह हमेशा से गुजरता है, तो यह और भी जब असफल चाहिए। कॉलबैक में आवेषण विफल हो जाते हैं, लेकिन अपवाद बाहरी संदर्भ में पारित नहीं होता है, और इस प्रकार परीक्षण हमेशा गुजरता है।
क्या आप मुझे यह जानने में मदद कर सकते हैं कि मैं क्या गलत कर रहा हूं?
स्पॉट है, धन्यवाद! – rhughes
मुझे जिस वाक्यविन्यास का उपयोग करना था, वह होगा: 'यह। ((ImageFilterOptions p) => p.Width == 256 && p.Height == 256) '। कोई सामान्य 'Is' – Nemo1024
सामान्य संस्करण मेरे लिए काम करता है और एपीआई दस्तावेज़ों में है http://www.nudoq.org/#!/Packages/Moq/Moq/It/M/Is(TValue) - क्या आप हैं Moq के पुराने संस्करण का उपयोग कर? –