私はMVCcontribとRhinoモックでMVC2を使用しています。
私は助けを必要としています。辛い週末でした。私は、MVCcontribを使用してコントローラーでテストを行う方法に関する優れた記事を探しています。そして、誰も私にまともな答えを持っていません。ビューとコントローラーで何をテストする必要があるのか知りたいですか?これは単体テストですか、それとも統合テストですか?
基本的なシナリオを説明しましょう。グリッドが表示されたインデックスビューがあります。このグリッドには、ニュースアイテムのリストがあります。このグリッドのすべての行の最後の列には、選択したニュース項目を編集するためにユーザーを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では、コードサンプルはあまり役に立ちません。できるだけ多くのご意見を伺いたいと思います。
ありがとう。