私は現在、GWT、GWTPを使ってWebアプリケーションを構築しています。GWT/GWTPプロジェクトをテストするには?
- GWTPやGWTのためのリントのようなツールがあります:
そして、私はtestingsに関するいくつかの質問がありますか?
- プレゼンターをテストするには? (GWTP with Mockito)
- ビューをテストするにはどうすればよいですか?
ありがとうございます。
私は現在、GWT、GWTPを使ってWebアプリケーションを構築しています。GWT/GWTPプロジェクトをテストするには?
そして、私はtestingsに関するいくつかの質問がありますか?
ありがとうございます。
GoogleはGWTでさまざまなテスト方法を使用することについてgreat articleを出しています。間違いなくそれをチェックしてください。個人的には、ビジネスロジックのようなバックエンドのものをテストするときはJUnit、ブラウザの観点からはUIとアプリケーション全体をテストする場合はSeleniumを使用します。
プレゼンターは、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のインタラクティビティをテストするのに適しています。
質問をしたところ、私はMockitoをプレゼンターユニットテストに使用できることがわかりました。しかし、私はまだSmartGwtで作業するので、私はまだビューをテストすることはできません、私は単体テストでsmartgwtオブジェクトを作成することはできないようです。 Seleniumのテストに関する詳細を教えてください。ありがとう。 – John
OnGWTの "Selenium"タグ@ http://www.ongwt.com/tag/Seleniumをチェックしてください。 –
ありがとうございました。 – John