我将 MVC 2 与 MVC contrib 和 Rhino 模拟一起使用。
我需要帮助。这是一个痛苦的周末。我一直在寻找关于如何使用 MVC contrib 对控制器进行测试的好文章。没有人对我有任何体面的答案。我想知道我需要在视图和控制器中测试什么?这是单元测试还是集成测试?
让我描述一下我的基本场景:我有一个索引视图,上面有一个网格。在这个网格中,我有一个新闻项目列表。在这个网格中,每一行的最后一列都有一个 Edit 链接,它将用户带到 EditNews 视图以编辑选定的新闻项目。此索引视图上还有一个添加新闻按钮,可将用户带到 CreateNews 视图。
现在考虑到当前的情况,我需要编写哪些测试?你们能否也请指出它们是单元测试还是集成测试。我需要为编辑链接编写测试吗?我需要为“添加新闻”按钮编写测试吗?我是否需要编写测试来检查此索引页面是否允许用户访问?这是我目前拥有的:
[Test]
public void Index_Should_Redirect_To_Error_View_When_User_Does_Not_Have_Permission()
{
}
[Test]
public void Index_Should_Log_Exception_When_User_Does_Not_Have_Permission()
{
}
[Test]
public void Index_Should_Return_Default_View()
{
// Act
var result = newsController.Index();
// Assert
result
.AssertViewRendered()
.ForView("Index");
}
更新:这是我的索引操作方法:
public ActionResult Index()
{
IEnumerable<News> news = newsRepository.FindAll();
return View(news);
}
任何体面的文章或示例代码将不胜感激。同样在 MVC contrib 上,代码示例也没多大用处。我想听到尽可能多的意见。
谢谢。