wicket表单测试器 - formTester.submit()的行为与“真正的”wicket提交不同

时间:2012-12-12 17:03:32

标签: java wicket

当我在真实的wicket中提交表单时,我的组件会调用onInitialize(),但是当我使用wicket测试器(更具体地说是使用FormTester)提交时,组件的onInitialize()不会被调用。

当我们遇到我们的表格不起作用时,这引起了一些干扰,即使单元测试都很好。

一个例子:

@Test
public void test() {

    tester.startPage(SomePage.class);

    tester.assertComponent("content:form:fields:items:0:component", TextField.class);

    FormTester ft = tester.newFormTester("content:form");

    ft.setValue("fields:items:0:component:input", "test");

    ft.submit();

    tester.assertVisible("content:contactForm:successMsg");

}

“successMsg”仅在成功时显示。测试成功,但实际上它失败了,因为在组件的onInitialize()中发生了一些逻辑。

我现在还不完全确定这是一个检票口问题,还是我们做错了。

1 个答案:

答案 0 :(得分:0)

onInitialize()与表单提交无关。当组件首次附加到页面的组件树时调用它。

看一下ComponentInitializationIntegrationTest。