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

Другие вопросы по тегам