答案 0 :(得分: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的理念中,Views不应该直接进行单元测试。使用作为Presenter的从属的哑视图,可以通过演示者上的单元测试来测试大多数逻辑。像Selenium这样的工具更适合测试UI交互性。
答案 1 :(得分:2)