我有一个 Ant 构建脚本,它检测一些 jar 文件,使用这些 jars 文件启动一些服务器,然后针对它们运行 junit 测试的集成测试套件。
我想在单独的文件中从每个服务器捕获 cobertura.ser 文件。
服务器需要设置其工作目录,以便它们可以获取配置文件。系统要求不得使用类路径来获取这些文件。
设置 net.sourceforge.cobertura.datafile 系统属性允许设置数据文件,这可以正常工作,直到在 ant java 任务上设置“dir”属性。设置 dir 后,服务器正确启动,测试套件运行正常,但是当服务器关闭时,不会写入任何数据文件。
这是 build.xml 的一个片段:
<parallel>
<daemons>
<java fork="true" dir="src\main\resources\conf\my.server" classname="my.Server">
<sysproperty key="net.sourceforge.cobertura.datafile" file="target\cobertura.ser" />
<classpath>
...
</classpath>
<arg value="-server" />
</java>
...more servers...
...run junit tests...
</daemons>
</parallel>