Đây là một đơn vị kiểm tra từ một trong các bộ điều khiển của tôi trong một dự án ASP.NET MVC, sử dụng NUnit và Moq:Moq - xác minh rằng không có phương pháp được gọi là
[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
}
này hoạt động tốt, nhưng từ một bảo trì quan điểm của tôi nghĩ rằng dòng này là tiết hơn nó cần phải được:
this.postService.Verify(p => p.SavePost(It.IsAny<PostDto>()), Times.Never());
gì tôi thực sự muốn để có thể làm là một cái gì đó tương đương với ...
this.postService.VerifyNoMethodsCalled();
... vì tất cả những gì tôi quan tâm là bộ điều khiển của tôi không gọi bất kỳ phương thức nào trên dịch vụ. Điều này có thể sử dụng Moq không?
tìm kiếm của Google: Nếu bạn quan tâm đến xác minh rằng chỉ là một SINGLE, phương pháp CỤ không được gọi , đây là câu hỏi bạn muốn thay thế: http://stackoverflow.com/questions/537308/how-to-verify-that-method-was-not-called-in-moq –