Wicket测试错误:组件'BookmarkablePageLink'不是类型

时间:2012-11-21 13:31:28

标签: wicket

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

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

2 个答案:

答案 0 :(得分:2)

你不应该试试

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

代替(因为ID“foobar”的组件属于BookmarkablePageLink)?

答案 1 :(得分:2)

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

wicketTester.assertBookmarkablePageLink("foobar", FooPage.class, new PageParameters());