我有一些麻烦来创建一个ModelViewFactory
和存储库模拟的NUnit测试。NUnit使用ModelViewFactory和存储库创建一个测试Mock
我的测试应该测试我的控制器Get函数是否返回一个列表InternshipsViewModel
s。
我的控制器:
public IHttpActionResult GetInternshipsForCoordinator()
{
return Ok(new InternshipsViewModelFactory().CreateInternshipsViewModel(_internshipRepository, _internshipRepository.GetAll()));
}
而且我的测试:
public void Get_ShouldReturnListOfInternshipsViewModel()
{
//Arrange
var allInternshipWithFeedbackViewModels = new List<InternshipsWithFeedbackViewModel>
{
new InternshipWithFeedbackViewModelBuilder().Build()
};
Mock<InternshipsViewModelFactory> internshipViewModelFactoryMock = new Mock<InternshipsViewModelFactory>();
internshipViewModelFactoryMock.Setup(
c =>
c.CreateInternshipsViewModel(It.IsAny<IInternshipRepository>(),
It.IsAny<IEnumerable<Internship>>())).Returns(() => allInternshipWithFeedbackViewModels);
//Act
var okResult =
_controller.GetInternshipsForCoordinator() as
OkNegotiatedContentResult<IEnumerable<InternshipsWithFeedbackViewModel>>;
//Assert
Assert.IsNotNull(okResult);
}
我知道,我应该用更多的断言,而当这一个工程,我会使用较多。 我得到的错误是
有人能帮我吗?非常感谢帮助,因为我不知道我做错了什么。