我正在使用apache wicket,我遇到了关于为单选按钮测试AjaxEventBehavior的麻烦。实际上我想测试“onClick”事件就像在我的情况下选择/单击RadioGroup中的单选按钮呈现特定页面一样。
代码段:
RadioGroup<Boolean> selectPageRadioGroup =
new RadioGroup<Boolean>("selectPageRadioGroup", new Model<Boolean>(Boolean.TRUE));
selectPageRadioGroup.setDefaultModel(new Model<Boolean>(Boolean.TRUE));
final Radio<Boolean> radioButton1 =
new Radio<Boolean>("radioButton1", new Model<Boolean>(Boolean.FALSE));
radioButton1.add(new AjaxEventBehavior("onclick") {
@Override
protected void onEvent(AjaxRequestTarget target) {
setResponsePage(MyWebPage.class);
}
});
selectPageRadioGroup.add(radioButton1);
答案 0 :(得分:8)
假设你已经完成了
WicketTester tester = new WicketTester();
tester.startPage(PageContainingRadioButton.class);
或类似的startPanel
(Wicket 1.4)或startComponent
(Wicket 1.5),以便您的测试在一个已知路径上呈现包含按钮的页面,您应该能够使WicketTester模拟像
tester.executeAjaxEvent("blabla:form:selectPageRadioGroup:radioButton1", "onclick");
(当然,你需要调整那条路径。)
然后检查它是否正确
tester.assertRenderedPage(MyWebPage.class);