我使用MVC 2与MVC contrib和Rhino mocks。ASP.NET MVC 2:在视图和控制器中测试什么
我需要帮助。这是一个痛苦的周末。我一直在寻找关于如何在使用MVC contrib的控制器上测试的好文章。没有人对我有任何正确的答案。我想知道我需要在视图和控制器上测试什么?这是单元测试还是集成测试?
让我来描述一下我的基本场景:我有一个有网格的索引视图。在这个网格中,我有一个新闻项目列表。在这个网格中,在每一行的最后一列,是一个编辑链接,它将用户带到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");
}
更新: 这里是我Index操作方法:
public ActionResult Index()
{
IEnumerable<News> news = newsRepository.FindAll();
return View(news);
}
什么像样的文章或示例代码,将不胜感激。同样在MVC贡献中,代码示例没有多大用处。我希望听到尽可能多的意见。
谢谢。
查看更新后的帖子。我仍然不明白这一点。我在上面提到的测试,到目前为止是在线?你还有什么单元测试和集成测试?如果你可以提供一些样品,那么我会赞赏这一点。 – 2010-12-05 09:57:29