Wicket 测试器不搜索 WebApplicationPath
Wicket tester not searching WebApplicationPath
在我的第一个基于 Quickstart Maven 原型的 Wicket 项目(使用 Eclipse mars 和 Glassfish 4.1 在 Wicket 6.20 中开发)中,我正在使用
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]
这个问题似乎没有在文献中的任何地方得到解决。
经过几个小时的搜索,彻底的调试会话使我找到了 MockServletContext 的 JavaDoc,它解释了有必要提供应用程序根目录的绝对路径磁盘(如果使用非默认资源位置)。
此外,我发现此路径可以作为第二个参数提供给 WicketTester 的构造函数。
因此,我的测试 Setup() 方法以 :
结束
return new WicketTester(new WicketApplication(),"<path to Eclipse workspace>/MyProject/src/main/webapp");
在我的第一个基于 Quickstart Maven 原型的 Wicket 项目(使用 Eclipse mars 和 Glassfish 4.1 在 Wicket 6.20 中开发)中,我正在使用
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]
这个问题似乎没有在文献中的任何地方得到解决。
经过几个小时的搜索,彻底的调试会话使我找到了 MockServletContext 的 JavaDoc,它解释了有必要提供应用程序根目录的绝对路径磁盘(如果使用非默认资源位置)。
此外,我发现此路径可以作为第二个参数提供给 WicketTester 的构造函数。
因此,我的测试 Setup() 方法以 :
结束return new WicketTester(new WicketApplication(),"<path to Eclipse workspace>/MyProject/src/main/webapp");