2016-05-18 14 views
0

junitのテストを初めて実行していますので、これが愚かな質問であれば私を許してください。私がテストしたいSpring Webアプリケーションのクラスは以下の通りです。このクラスはWebMcvConfigurerAdapterを拡張してView Controllerを追加します。Spring:ViewControllerRegistry.addViewController()で作成したView-Controllerをテストする

それぞれのビューコントローラが正しいビューにマップするかどうかをテストしたいだけです。私が見たすべてのチュートリアルでは、それ自身の別のクラスを持つコントローラのテストが実行されます。以下のコントローラーには論理がないため、独自のクラスを持つことは意味がありません。誰かが私にこれにアプローチするか、サンプルコードを与えるべき方法のために私を指示できますか?これらのコントローラはビ​​ューにリンクするだけでテストする必要がありますか?

@Configuration 
public class MvcConfig extends WebMvcConfigurerAdapter { 

@Override 
public void addViewControllers(ViewControllerRegistry registry) { 
    registry.addViewController("/").setViewName("greeting"); 
    registry.addViewController("/portal").setViewName("portal"); 
    registry.addViewController("/login").setViewName("login"); 
} 

}

答えて

0

それはあなたが実装されているテストの種類によって異なります。単体テストの場合は、Springの内部動作をテストするので必要ありません。ただし、アプリケーションが正しく配線されているかどうかを確認できるように、統合テストを行う必要があります。

あなたのビューコントローラの統合テストの一例は以下のようになり

@RunWith(SpringJunitClassRunner.class) 
@ContextConfiguration(classes = MvcConfig.class) 
public class ViewControllerIT{ 

    @Autowired 
    private WebApplicationContext wac; 

    @Before 
    public void setup() { 
     this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build(); 
    } 

    @Test 
    public void testLogin() throws Exception { 
     this.mockMvc.perform(get("/login") 
     .andExpect(status().isOk()) 
     .andExpect(view().name("login")); 
    } 
} 
関連する問題