我创建了一个链接页面FooPage,所以当有人点击这个链接时,一些文本"test test"
会显示给用户,到目前为止还不错。
我已经创建了以下基本页面:
FooPage.java
public class FooPage extends WebPage {
public FooPage() {
add(new Label("label", "test test"));
} }
FooPage.html
<div wicket:id="label"></div>
在MyPnel.java中,我添加创建的页面如下:
MyPanel.java
public class MyPanel extends Panel{
add(new BookmarkablePageLink<Void>("foobar", FooPage.class));
}
MyPanel.html:
<a wicket:id="foobar" href="FooPage"></a>
现在,当我用junit测试创建的组件时,如下所示:
@Test
public void startPage() {
wicketTester.assertComponent("foobar", FooPage.class);
}
我得到以下错误:
junit.framework.AssertionFailedError:组件"BookmarkablePageLink"不是类型:FooPage
知道问题是什么吗?
Ian已经说过,assertComponent
检查组件的类型是否是类的子类型。对于您的用例,您应该使用
wicketTester.assertBookmarkablePageLink("foobar", FooPage.class, new PageParameters());
是否应该不尝试
wicketTester.assertComponent("foobar", BookmarkablePageLink.class);
相反(因为ID"foobar"的组件是BookmarkablePageLink
类型)?