Как протестировать проект GWT / GWTP? - PullRequest
1 голос
/ 11 декабря 2011

В настоящее время я создаю веб-приложение с использованием GWT, GWTP.

И у меня есть несколько вопросов о тестировании:

  • Существует ли Lint-подобный инструмент для GWTP или GWT?
  • Как тестировать докладчиков?( GWTP с Mockito )
  • Как проверить виды?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 27 августа 2012

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

2 голосов
/ 11 декабря 2011

Google выпустил отличную статью об использовании различных методологий тестирования с GWT. Определенно проверьте это. Лично я использую JUnit , когда тестирую фоновые компоненты, такие как бизнес-логика, и Selenium для тестирования пользовательского интерфейса и приложения в целом с точки зрения браузера.

...