2011-12-11 2 views

답변

2

Google은 GWT를 사용하여 다양한 테스트 방법을 사용하는 것에 대해 great article를 발표했습니다. 확실히 그것을 확인하십시오. 개인적으로 비즈니스 로직과 같은 백엔드 제품을 테스트 할 때는 JUnit을 사용하고 브라우저의 관점에서 UI 및 애플리케이션을 전체적으로 테스트하는 경우 Selenium을 사용합니다.

+0

질문을 한 후에 발표자 단위 테스트를 위해 Mockito를 사용할 수 있음을 발견했습니다. 하지만 여전히 SmartGwt를 사용하기 때문에 뷰를 테스트 할 수 없습니다. 단위 테스트에서 smartgwt 객체를 만들 수없는 것 같습니다. Selenium 테스트에 대한 세부 정보를 제공해 주시겠습니까? 감사. – John

+0

OnGWT의 "Selenium"태그 @ http://www.ongwt.com/tag/Selenium을 확인하십시오. 많은 좋은 정보가 있습니다. –

+0

대단히 고마워. – John

3

프리젠터는 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 상호 작용을 테스트하기에 더 적합합니다.

관련 문제