gwtユニットテスト
記号を作ってgwt-test-utilsを使います.JAr書き込みgwtユニットテスト
1. source code
2. Test code
1. source code
public class SimpleComposite extends Composite {
private Button button = new Button();
private Label label = new Label();
public SimpleComposite() {
button.setHTML("display something");
// The wrapper panel
VerticalPanel vPanel = new VerticalPanel();
vPanel.setWidth("100%");
vPanel.setHorizontalAlignment(VerticalPanel.ALIGN_CENTER);
vPanel.add(button);
vPanel.add(label);
// All composites must call initWidget() in their constructors.
initWidget(vPanel);
VerticalPanel dialogVPanel = new VerticalPanel();
dialogVPanel.setWidth("100%");
dialogVPanel.setHorizontalAlignment(VerticalPanel.ALIGN_CENTER);
// Add click handlers to the button
button.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent arg0) {
label.setText("The button was clicked !");
}
});
}
}
2. Test code
public class SimpleCompositeTest extends AbstractGwtTest {
// the tested composite
private SimpleComposite composite;
@Before
public void init() throws Exception {
// instanciate the composite
composite = new SimpleComposite();
}
@Test
public void checkClick() {
// With this helper method, we can get private Widget in the composite
Button button = GwtTestReflectionUtils.getPrivateFieldValue(composite, "button");
Label label = GwtTestReflectionUtils.getPrivateFieldValue(composite, "label");
// ensure label is empty
Assert.assertEquals(null, label.getText());
// simule the click event with AbstractGwtTest method
Browser.click(button);
// assert the label has been filled
Assert.assertEquals("The button was clicked !", label.getText());
}
}