This is a unit-test from one of my controllers in an ASP.NET MVC project, using NUnit and 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 works fine, but from a maintenance point of view I think this line is more verbose than it needs to be:
this.postService.Verify(p => p.SavePost(It.IsAny<PostDto>()), Times.Never());
What i'd really like to be able to do is something equivalent to...
this.postService.VerifyNoMethodsCalled();
...as all i'm interested in is that my controller doesn't call any methods on the service. Is this possible using Moq?