2017-01-06 2 views
0

У меня есть форма AJAX, которая выглядит какКак проверить форму ajax? С FormTester?

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, или по-другому?

ответ

1

Просто используйте FormTester, он будет заботиться о имитируя запрос Ajax:

formTester.submit(button); 
0

В самом деле, я могу использовать FormTester, но я должен сделать

wicketTester.executeAjaxEvent("form:submit", "click"); 

вместо

formTester.submit(); 

Кроме того, поскольку FormTester помещает значения, заданные .setValue() в параметрах сообщения, мы n пусть BaseWicketTester.serializeFormRequest делает это тоже, поэтому нам не нужен FormTester:

wicketTester.getComponentFromLastRenderedPage("form:name").setDefaultModelObject("foo"); 
wicketTester.getComponentFromLastRenderedPage("form:age").setDefaultModelObject("7"); 
wicketTester.executeAjaxEvent("form:ajx", "click"); 
Смежные вопросы