我得到了一个包含几个面板的页面,这些面板在其构造函数中采用了多个参数。其中之一是一个菜单,其中包含菜单中不同按钮的列表。
我试图将它作为组件进行测试,但得到一个空指针异常。使用虚拟页面并在虚拟页面上创建面板有效。我对这种方法并不完全满意,因为它在我的测试中引入了很多新代码,并且有更多的错误可能性。
有没有更好的方法来测试在其构造函数中接受参数的面板?
肯定的事情:给出空指针错误的代码:
public void testVisitPanel(){
VisitPanel v = new VisitPanel("visitPanel");
tester.startComponent(v);
tester.assertContains("DATE");
}
面板
public VisitPanel(String id) {
super(id);
add( new Label("visitDate", "DATE"));
add( new Label("visitStage", "VISIT SIGNED"));
}
和 html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:wicket="http://wicket.sourceforge.net/"
xml:lang="en"
lang="en">
<wicket:head>
</wicket:head>
<body>
<wicket:panel>
<span wicket:id="visitDate">VISIT DATE</span>
<span wicket:id="visitStage">STAGE</span>
</wicket:panel>
</body>
</html>