Đối với tôi đây là một bài kiểm tra đơn vị hoàn toàn không liên quan và tôi không hiểu tại sao ai đó lại dành thời gian để viết nó, vì có rất ít giá trị để đạt được từ nó. Tôi sẽ biết rất rõ nếu bộ điều khiển này trả về kiểu mong muốn bằng cách thực thi phương thức trong trình duyệt. Thực sự, bạn có tin rằng một bài kiểm tra là cần thiết cho việc này và tại sao?
public class ConstituencyControllerTests
{
private ConstituencyController _constituencyController;
private Mock<IConstituencyService> _IConstituencyServiceMock;
public ConstituencyControllerTests() {
_IConstituencyServiceMock = new Mock<IConstituencyService>();
}
[Test]
public async Task I_Check_For_Return_Type_And_Result() {
_constituencyController = new ConstituencyController( _IConstituencyServiceMock.Object );
var result = await _constituencyController.Get();
var content = ( (dynamic)result ).Content;
Assert.IsEmpty( content );
Assert.IsInstanceOf( typeof( System.Web.Http.Results.OkNegotiatedContentResult<IEnumerable<ListOfConstituencies>> ), result );
_IConstituencyServiceMock.Verify( x => x.ListOfConstituencies(), Times.Once() );
}
}