1

私は現在、GWT、GWTPを使用してWebアプリケーションを構築しています。

そして、私はテストについていくつか質問があります:

  • GWTPまたはGWT用のLintのようなツールはありますか?
  • プレゼンターをテストする方法は?(Mockitoを使用したGWTP
  • ビューをテストする方法は?

ありがとう。

4

2 に答える 2

3

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

@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の哲学では、ビューを直接単体テストするべきではありません。プレゼンターのスレーブであるダムビューを使用すると、ほとんどのロジックをプレゼンターの単体テストでテストできます。Seleniumのようなツールは、UIの対話性をテストするのにより適しています。

于 2012-08-27T14:16:03.250 に答える
2

Googleは、GWTでさまざまなテスト方法を使用することについてのすばらしい記事を発表しました。ぜひチェックしてみてください。個人的には、ビジネスロジックなどのバックエンドをテストする場合はJUnitを使用し、ブラウザーの観点からUIとアプリケーション全体をテストする場合はSeleniumを使用します。

于 2011-12-11T14:52:18.547 に答える