我创建了一个链接页面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:component'BookmarkablePageLink' 不是类型:FooPage
知道问题是什么或解决这个问题的热点?
答案 0 :(得分:2)
你不应该试试
wicketTester.assertComponent("foobar", BookmarkablePageLink.class);
代替(因为ID“foobar”的组件属于BookmarkablePageLink
)?
答案 1 :(得分:2)
正如Ian已经说过的,assertComponent
检查组件的类型是否是类的子类型。对于您的用例,您应该使用
wicketTester.assertBookmarkablePageLink("foobar", FooPage.class, new PageParameters());