2011-02-23 8 views
1

私はここで新しく、私はSpring-MVCとJunitを学んでいます。Junitテストメソッドのモデルパラメータ

私はこの基本的なコントローラのメソッドのためのJUnitを用いたテストメソッドを実装しようとしています:

public String home(Model model) { 
     model.addAttribute(new Contact()); 
     logger.info("Welcome home!"); 
     return "home"; 
    } 

そして、試験方法は以下の通りです:

public void testHome() throws Exception{ 
     ContactsController contactsController=new ContactsController(); 
     Assert.assertEquals("home",contactsController.home(new Model())); 
    } 

モデルであるため、問題が、あります私は明らかに、新しいModelオブジェクトを作成してcontactsController.home(...)のパラメータとして渡すことはできません。あなたは私にどんな選択肢を与えますか?私は何をすべきか分かりません。

おかげ

答えて

4

あなたは、このようなExtendedModelMapとして、Modelの実装を渡す必要があります:ええ

public void testHome() throws Exception{ 
    ContactsController contactsController=new ContactsController();   
    Assert.assertEquals("home",contactsController.home(new ExtendedModelMap())); 
} 
+0

が、その後のタイプが一致しません。それで、コントローラーメソッドの実装でパラメータータイプを変更する必要があることを意味しますか? – Neets

+1

@Noves: 'ExtendedModelMap'は' Model'を実装しているので、型は一致します。 – axtavt

+0

ありがとうございました!私はModelMapで既にそれを試していて、うまくいきませんでしたので、その観測を行いましたが、ExtendedModelMapで動作します。あなたの助けをありがとう=) – Neets

関連する問題