我正在使用 AjaxLink 更改站点区域设置:
@Override
public void onClick(AjaxRequestTarget target) {
Session.get().setLocale(newLanguage.getLocale());
// Add whole page to update instead of single components
target.add(getPage());
}
它确实像我预期的那样工作,整个页面上的每个 i18n 字符串都会更新,同时保留表单内容。灿烂。
但是用 WicketTester 进行测试是行不通的。clickLink 和 executeAjaxBehavior 这两种方法都会触发 AjaxLink,但 WicketTester 不会检测到模型值的任何更改。
@Test
public void check() {
tester.startPage(SwitchLangPage.class);
tester.clickLink("link", true);
tester.assertModelValue("link:label", "English");
}
我在这里错过了什么重要的东西吗?
(检票口 6.19)
编辑:带有简化面板的要点