-1

在我的第一个基于 Quickstart Maven 原型的 Wicket 项目(在 Wicket 6.20 中使用 Eclipse mars 和 Glassfish 4.1 开发)中,我使用 getResourceSettings().getResourceFinders().add(new WebApplicationPath(getServletContext(), "html"));将标记与代码分开。

我的主页运行良好,但 WicketTester 抛出异常org.apache.wicket.markup.MarkupNotFoundException: Can not determine Markup. Component is not yet connected to a parent. [Page class = ...MyProject.HomePage, id = 0, render count = 1]

这个问题似乎在文献中的任何地方都没有解决。

4

1 回答 1

2

经过数小时的搜索后,一个彻底的调试会话将我带到了MockServletContext的 JavaDoc,它解释说,如果使用非默认资源位置,则必须提供磁盘上应用程序根目录的绝对路径。

此外,我发现这个路径可以作为第二个参数提供给 WicketTester 的构造函数。

因此,我的测试 Setup() 方法以:

return new WicketTester(new WicketApplication(),"<path to Eclipse workspace>/MyProject/src/main/webapp");
于 2015-08-13T20:50:34.800 回答