我有一些麻煩來創建一個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);
}
我知道,我應該用更多的斷言,而當這一個工程,我會使用較多。 我得到的錯誤是
有人能幫我嗎?非常感謝幫助,因爲我不知道我做錯了什麼。