Как протестировать проект GWT/GWTP?
В настоящее время я создаю веб-приложение, используя GWT, GWTP.
И у меня есть несколько вопросов о тестировании:
- Существует ли Lint-подобный инструмент для GWTP или GWT?
- Как проверить докладчиков? ( GWTP с Mockito)
- Как проверить просмотры?
Благодарю.
2 ответа
Google выпустил отличную статью об использовании различных методик тестирования с GWT. Определенно проверьте это. Лично я использую JUnit, когда тестирую такие бэк-энды, как бизнес-логика, и Selenium для тестирования пользовательского интерфейса и приложения в целом с точки зрения браузера.
Презентаторов можно легко протестировать с помощью 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, Views не должны тестироваться напрямую. Используя немое представление, являющееся подчиненным для докладчика, большую часть логики можно проверить с помощью модульных тестов на докладчиках. Такие инструменты, как Selenium, лучше подходят для тестирования интерактивности пользовательского интерфейса.