我正在尝试将Cobertura集成到我们的测试环境中,以便能够捕获代码覆盖率信息。测试使用ANT junit tasks
从ant脚本运行,并且有超过50个ant脚本文件(build.xml),其中包含一个或多个junit任务定义。
根据Cobertura doc,junit测试必须通过junit任务的sysproperty
嵌套元素给出cobertura coverage数据文件的路径。对我来说意味着我需要更新所有这50多个文件,为junit任务指定一个sysproperty元素,我打算将其作为最后的手段。
我正在Linux (CentOS)
中运行我的测试,我想知道是否有办法指定全局系统属性(-Dxxx=yyy)
,以便系统属性可供所有运行的java应用程序使用在系统中。
CNC中
junit测试在分叉的JVM中运行。 <junit fork="yes" ...
答案 0 :(得分:7)
答案 1 :(得分:0)
或者设置环境变量并在你的蚂蚁脚本中使用:
<property environment="env"/>
<echo>${env.yourEnvVariable}</echo>
...
使用ANT_OPTS(主要用于ant内部设置,如fe VM参数..)的优势是,如果使用用户环境变量,则可以进行用户特定设置,而ANT_ARGS对于所有ant脚本都是“静态”。