यह एक ASP.NET MVC परियोजना में मेरी नियंत्रकों में से एक से एक यूनिट-परीक्षण, NUnit और Moq उपयोग कर रहा है:Moq - सत्यापित करें कि कोई तरीकों कहा जाता था
[Test]
public void Create_job_with_modelstate_errors_fails()
{
var job = new JobDto();
this.controller.ModelState.AddModelError("", "");
ActionResult result = this.controller.Create(job);
this.jobService.Verify(p => p.SaveJob(It.IsAny<JobDto>()), Times.Never());
// some other asserts removed for brevity
}
यह ठीक काम करता है, लेकिन एक रखरखाव से दृष्टि मुझे लगता है कि इस लाइन में अधिक वर्बोज़ की तुलना में यह करने की जरूरत है:
this.postService.Verify(p => p.SavePost(It.IsAny<PostDto>()), Times.Never());
क्या मैं सच में ऐसा करने में सक्षम होना चाहते हैं कुछ के बराबर है ...
this.postService.VerifyNoMethodsCalled();
... जैसा कि मुझे दिलचस्पी है, यह है कि मेरा नियंत्रक सेवा पर किसी भी तरीके से कॉल नहीं करता है। क्या यह मोक का उपयोग कर संभव है?
गूगल खोजकर्ताओं असफल हो जायेगी: आप यह सत्यापित करते हुए सिर्फ एक, विशेष विधि आमंत्रित नहीं किया गया में रुचि रखते हैं , यह वह प्रश्न है जिसे आप चाहते हैं: http://stackoverflow.com/questions/537308/how-to-verify-that-method-was-not-called-in-moq –