我正在使用 Wicket 6.20.0 的 CheckBoxMultipleChoice
并通过添加 AjaxFormChoiceComponentUpdatingBehavior
来利用 AJAX 功能。
这正在按要求工作。然而,使用 WicketTester
来测试 CheckBoxMultipleChoice
的功能似乎是不可能的。
当我使用 WicketTester
的 debugComponentTrees()
时,CheckBoxMultipleChoice
的唯一路径是它的直接路径,即我没有可以获取子 CheckBox
对象或类似对象来执行 AJAX 事件。
如何使用 WicketTester
执行 AJAX 事件,例如单击复选框之一?
最佳答案
CheckBoxMultipleChoice 是一个“优化”的表单组件,即它使用字符串连接来创建其“子级” - 复选框。如果它使用 CheckBox 组件,那么它会导致更大的组件树和更多的内存消耗。
要使用 WicketTester 进行测试,您只需使用所有选定的值设置请求参数:
tester.getRequest().addParameter(cbmc.getInputName(), "value1");
tester.getRequest().addParameter(cbmc.getInputName(), "value2");
// ...
tester.executeAjaxEvent(cbmc, "click");
// assert
关于java - 如何在 WicketTester 中的 CheckBoxMultipleChoice 上执行 AJAX 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31278261/