2011-12-11 10 views
1

私は現在、GWT、GWTPを使ってWebアプリケーションを構築しています。GWT/GWTPプロジェクトをテストするには?

  • GWTPやGWTのためのリントのようなツールがあります:

    そして、私はtestingsに関するいくつかの質問がありますか?

  • プレゼンターをテストするには? (GWTP with Mockito
  • ビューをテストするにはどうすればよいですか?

ありがとうございます。

答えて

2

GoogleはGWTでさまざまなテスト方法を使用することについてgreat articleを出しています。間違いなくそれをチェックしてください。個人的には、ビジネスロジックのようなバックエンドのものをテストするときはJUnit、ブラウザの観点からはUIとアプリケーション全体をテストする場合はSeleniumを使用します。

+0

質問をしたところ、私はMockitoをプレゼンターユニットテストに使用できることがわかりました。しかし、私はまだSmartGwtで作業するので、私はまだビューをテストすることはできません、私は単体テストでsmartgwtオブジェクトを作成することはできないようです。 Seleniumのテストに関する詳細を教えてください。ありがとう。 – John

+0

OnGWTの "Selenium"タグ@ http://www.ongwt.com/tag/Seleniumをチェックしてください。 –

+0

ありがとうございました。 – John

3

プレゼンターは、Jukitoを使用して簡単にユニットテストできます。ここでは、Jukitoを使用してテストされているPresenterの簡単な例を示します。

@RunWith(JukitoRunner.class) 
public class ShowCommentsPresenterTest { 
    @Inject 
    private ShowCommentsPresenter showCommentsPresenter; 

    @Inject 
    private PlaceManager placeManager; 

    @Test 
    public void onReset_PlaceRequestHasNoShowId_ShouldHideView() { 
     //given 
     when(placeManager.getCurrentPlaceRequest()).thenReturn(new PlaceRequest()); 

     //when 
     showCommentsPresenter.onReset(); 

     //then 
     verify(showCommentsPresenter.getView()).hide(); 
    } 

    @Test 
    public void onReset_PlaceRequestHasAShowId_ShouldDisplayView() { 
     //given 
     String someShowId = "12345"; 
     when(placeManager.getCurrentPlaceRequest()).thenReturn(new PlaceRequest() 
      .with(ParameterTokens.getShowId(), someShowId)); 

     //when 
     showCommentsPresenter.onReset(); 

     //then 
     verify(showCommentsPresenter.getView()).display(); 
    } 
} 

GWTPの考え方では、ビューは直接的にユニットテストされるべきではありません。 Presenterのスレーブであるダムビューを使用すると、ロジックの大半はプレゼンターの単体テストでテストできます。 Seleniumのようなツールは、UIのインタラクティビティをテストするのに適しています。

関連する問題