2009-06-08 8 views
0

私はMVPフレームワークを活用するためにMVPで書かれたwebformsアプリケーションを移行しており、partialviewを返す単純なコントローラアクションをテストする方法を知りたいと思っていました。 MVPを使用すると、ビューの各プロパティ=期待値に対してtrueがアサートされます。私が検証したいどのようなテストMVPのテストをMVCに移行する

​​

コントローラのアクションは、「フォーム」の値は、ビューに正しく表示される(これは私がMVPパターンを使用しなかったときのように、私がテストしなければならない何ですか? )

答えて

3

ViewModelとそこに存在するデータをテストする必要があります。また、結果が予想される結果のタイプかどうかをテストする必要があります(ほとんどの場合、ViewResultなど)。最後に、ビュー名を確認する必要があります。

たとえば、これは既存の会社に新しいユーザーエンティティを追加するための作成フォームを返すコントローラアクションのテストです。当社のIDはidパラメータとしてコントローラに供給されています

 [Test] 
     public void Create_Get_Shows_View() 
     { 
      //Setup  
      //setup Controller, fakes, mocks, etc... here 

      //Execution 
      var result = (ViewResult)Controller.Create(companyID); 

      //Assertion 
      var model = (UsersController.CreateViewModel) result.ViewData.Model; 
      Assert.AreEqual("", result.ViewName); 
      Assert.IsNotNull(model.User); 
      Assert.AreEqual(companyID,model.CompanyID); 
     } 

編集:あなたはまた、適切なHttpVerbが設定されているかどうかをテストすることをお勧めします。リフレクションでこれを行うことができます。

関連する問題