我有一个类似
的ajax表单Form<Void>form=new Form<Void>("form");
add(form);
name=new TextField<String>("name");
form.add(name);
age=new TextField<Integer>("age");
form.add(age);
submit=new AjaxButton("submit") {
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
result.setDefaultModelObject(s);
target.add(result);
}
};
form.add(submit);
如何使用FormTester
或其他方式测试此类表单?
答案 0 :(得分:1)
只需使用FormTester,它将负责模拟Ajax请求:
formTester.submit(button);
答案 1 :(得分:0)
确实,我可以使用FormTester,但我必须这样做
wicketTester.executeAjaxEvent("form:submit", "click");
而不是
formTester.submit();
另外,因为FormTester将.setValue()
给出的值放在post参数中,所以我们也可以让BaseWicketTester.serializeFormRequest执行此操作,因此我们不需要FormTester:
wicketTester.getComponentFromLastRenderedPage("form:name").setDefaultModelObject("foo");
wicketTester.getComponentFromLastRenderedPage("form:age").setDefaultModelObject("7");
wicketTester.executeAjaxEvent("form:ajx", "click");