我使用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