这是我的一个控制者在伙伴关系中进行的一次单位测试。 NET MVC Project, using theNUnit 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.postService.Verify(p => p.SavePost(It.IsAny<PostDto>()), Times.Never());
真正想要做的是相当于......。
this.postService.VerifyNoMethodsCalled();
......因为所有有兴趣的是,我的控制者不把任何方法引向服务。 是否可能使用Moq?