2012-03-02 13 views
0

mvc 3に新しく、ユニットテストをしています。私は検索アクションメソッドをテストしています。このメソッドは、あるタイプのジェネリックリストを含むアクションメソッドを返します。返されるモデルデータが指定された型であるかどうかをテストするにはどうすればよいですか? 助けてください。MVC3ユニットテスト

答えて

0

あなたのテストメソッドでは、変数に検索結果を取得した後に型アサーションを行います。

var searchResults = SearcherUnderTest.Search("TestKeyword"); 

Assert.IsInstanceOfType(Type expected, object searchResults); 
0

あなたはリスト内のTのタイプをテストしたいのですか?もしそうなら、この質問を見てください:How to get the type of T from a member of a generic class or method?

あなたは行動のために単体テストを書くのに助けが必要ですか?次に:検索結果をテストするときHow to unit test an ActionResult that returns a ContentResult?

NUnitのテストと、それは通常、次のようになります。

[Test] 
public void Search_ShouldReturnAListOfOrders() 
{ 
    var result = _controller.Search("searchParameter") as MyViewModel ; 

    Assert.That(result, Is.Not.Null); 
    Assert.That(result.SearchResults, Is.Not.Null); 
    Assert.That(result.SearchResults.Count, Is.GreaterThan(0)); 
} 
+0

私はクラスscreenmodelとscreensmodelを持っていると言うことができます。画面モデルにはリストが含まれています。私のアクションメソッドは検索(文字列型)であり、スクリーンモデルリストを持つスクリーンモデルを返すはずです。私のユニットテストでは、私はアクションメトモが "リスト"リストを返すかどうかを確認したい – CodeNoob

+0

あなたはスタブ/モックを使用していますか?それともこのテストはデータベースですか?とにかく、リストがヌルではなく、その数が> 0であることをテストする必要があると言います。 –

+0

ありがとうございます。リストがスクリーンモデルクラスの中にあるので、私はAssert.IsTue(returnModelはスクリーンモデルです)を使用しました – CodeNoob