Презентаторы могут быть легко протестированы с использованием Jukito . Вот краткий пример тестирования Presenter с использованием 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, лучше подходят для тестирования интерактивности пользовательского интерфейса.