检票口测试错误:组件"可书签页面链接"不是类型



我创建了一个链接页面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类型)?

最新更新