当我在真实检票口中提交表单时,会为我的组件调用 onInitialize(),但是当我使用检票口测试器(更具体地说是使用 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() 中发生了一些逻辑。
我现在不完全确定这是一个检票口问题还是我们做错了什么。