Dla mnie jest to całkowicie nieistotny test jednostkowy i nie rozumiem, dlaczego ktoś spędzałby czas na pisaniu go, ponieważ bardzo niewiele można z niego zyskać. Wiedziałbym doskonale, czy ten kontroler zwrócił pożądany typ, wykonując metodę w przeglądarce. Naprawdę, czy uważasz, że do tego potrzebny jest test i dlaczego?
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() );
}
}