我正在用Wicket构建应用程序,并且正在为我的页面编写JUnit测试。我的页面位于一个包中,其中还包含一个名为wicket-package.utf8.properties的属性文件。在服务器上部署应用程序时,属性已成功加载:

INFO  org.apache.wicket.resource.PropertiesFactory - Loading properties files from file:/tmp/cargo/conf/webapps/my-project/WEB-INF/classes/com/myproject/web/wicket/page/wicket-package.utf8.properties with loader org.apache.wicket.resource.UtfPropertiesFilePropertiesLoader@37024e21


当我运行JUnit测试时出现问题,因为PropertiesFactory加载了一个不同的属性文件:

INFO  org.apache.wicket.resource.PropertiesFactory - Loading properties files from jar:file:/home/lovro/.gradle/caches/modules-2/files-2.1/org.apache.wicket/wicket-core/6.16.0/85dd5611907b269f6a25569d9df45513bd0b1b5a/wicket-core-6.16.0.jar!/org/apache/wicket/Application.properties with loader org.apache.wicket.resource.IsoPropertiesFilePropertiesLoader@62e7f11d


您可以看到,在服务器上使用了UtfPropertiesFilePropertiesLoader,而在测试中,使用了IsoPropertiesFilePropertiesLoader来加载属性。

如何在JUnit测试中强制使用自定义utf8属性文件?

最佳答案

Wicket应该加载所有可用的资源束,即基于UTF-8的资源束和Wicket发行版提供的默认资源束。
它虽然懒惰地加载它们。即仅当从com.myproject.web.wicket.page包中加载页面时,才会加载基于UTF-8的页面。

07-25 21:43
查看更多