在Spock单元中测试一个方法,该方法在检索基于类路径的资源的方法中引入资源JSON文件...
Myclass.classpath.getResource('/someJsonfile.json') //Works in WAR arhcive, but fails during a spock test and returns null
上述方法不起作用,但在部署WAR
时,功能可以正常工作以下在Spock中用于解析类路径资源,但是会破坏WAR的功能
System.getResource('/someJsonfile.json') //Works in spock test, but breaks functionality when inside WAR
答案 0 :(得分:0)
我通常在更大的项目中做的是:
src/main
, 而非 src/test
下。您还可以使用compile
, 不 test
范围导入所有内容。然后从模块中创建一个普通的JAR。因此,通过导入BoM,您可以获得版本管理,通过导入测试资源,您可以获得实际资源,测试依赖项和测试基类。结果是一组可重用的测试类和资源以及干净的导入模块。最后,但并非最不重要的是,无论您是在容器内部还是外部进行测试,都可以始终以相同的方式加载资源。
<强>更新强>
以下是
的链接它非常简单,在企业环境中特别有用。