gwt-test-utils кажется идеальной платформой для удовлетворения ваших потребностей.Вместо того, чтобы наследовать от GWTTestCase , расширьте класс gwt-test-utils GwtTest и реализуйте свой тест щелчков с помощью класса Browser, как показано в руководстве по началу работы :
@Test
public void checkClickOnSendMoreThan4chars() {
// Arrange
Browser.fillText(app.nameField, "World");
// Act
Browser.click(app.sendButton);
// Assert
assertTrue(app.dialogBox.isShowing());
assertEquals("", app.errorLabel.getText());
assertEquals("Hello, World!", app.serverResponseLabel.getHTML());
assertEquals("Remote Procedure Call", app.dialogBox.getText());
}
Если вы хотите сохранить свою кнопку в секрете, вы сможете получить ее с помощью самоанализа.Но я советую сделать так, чтобы вы видели защищенный пакет виджетов и написали свой модульный тест в том же пакете, чтобы он мог получить к ним доступ.Это более удобно и удобно для рефакторинга.
gwt-test-utils обеспечивает удобство самоанализа.Например, чтобы получить поле «dialogBox», которое могло быть приватным, вы могли бы сделать это:
DialogBox dialogBox = GwtReflectionUtils.getPrivateFieldValue(app, "dialogBox");
Но обратите внимание, что использование GwtReflectionUtils не является обязательным.gwt-test-utils позволяет вам использовать ЛЮБЫЕ классы Java в клиентских тестах GWT без ограничений :)