0

我创建了一个链接页面 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 我添加创建的页面如下:

我的面板.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

知道什么是问题或解决这个问题的热点吗?

4

2 回答 2

2

正如 Ian 已经说过的,assertComponent检查组件的类型是否是类的子类型。对于您的用例,您应该使用

wicketTester.assertBookmarkablePageLink("foobar", FooPage.class, new PageParameters());
于 2012-11-21T16:33:50.650 回答
2

你不应该尝试吗

wicketTester.assertComponent("foobar", BookmarkablePageLink.class);

而是(因为 ID“foobar”的组件是类型BookmarkablePageLink)?

于 2012-11-21T15:21:55.470 回答