我无法理解如何有效地为一个简单的控制器操作构建模拟单元测试,该操作创建了一个viewmodel实例并将其传递给视图。
public ActionResult Index()
{
IndexViewModel viewModel = new IndexViewModel();
return View(viewModel);
}
有人可以告诉我如何为控制器操作编写单元测试,以确保操作生成viewmodel类的实例,并将其指定为视图的模型。
当然,我理解TDD说我应该首先编写测试,然后构建上面的内容,但是我无法掌握基础知识。您传递的任何代码的解释也会很棒。感谢
答案 0 :(得分:1)
这只是一个简单的例子,说明你可以做些什么来测试这个:
[TestMethod]
public void IndexGetMethodReturnsIndexViewModel()
{
// Arrange
HomeController controller = new HomeController();
// Act
ViewResult result = controller.Index() as ViewResult;
var viewModel = result.ViewData.Model as IndexViewModel;
// Assert
Assert.IsNotNull(viewModel);
}
因此,您在控制器上调用Index方法,访问viewModel并确保它的类型为IndexViewModel,然后断言它不为null。
希望这有帮助。