GWTテストのセクションではPresenter
、オブジェクト内の出力を検証Display
する方法について説明していますが、その逆の方法については説明していません。つまり、ユーザーがのボタンをクリックしたときにPresenter
正しいリクエストが行われるかどうかを確認したいと思います。RPC Service
Display
ボタンのクリックをシミュレートするにはどうすればよいDisplay
ですか?GWTイベントの起動は、コンストラクターが保護されているため、簡単ではありません。クラスをサブクラス化せずに、それを簡単に行う方法はありClickEvent
ますか?
@Before
protected void setUp() {
mockRpcService = mock(NegotiationServiceAsync.class);
eventBus = new HandlerManager(null);
mockDisplay = mock(NegotiationPresenter.Display.class);
negotiationPresenter = new NegotiationPresenter(mockRpcService,
eventBus, mockDisplay);
}
@Test
private void testSth() {
when(mockDisplay.getSuppliersEmails()).thenReturn("address@domain.com");
when(mockDisplay.getTaskDescription()).thenReturn("This is the task to do");
// This does not work
mockDisplay.getSubmitButton().fireEvent(new ClickEvent());
verify(mockRpcService).startTask(any(NegotiationRequest.class), any(AsyncCallback.class));
}