有没有办法判断 JUnit 测试是否正在从 Ant 运行



我想在运行时识别我的JUnit测试是否从ant运行。这样做的原因是,如果它是从ant运行的,我想将信息记录到日志文件中,否则我只想写入标准输出。

Ant 内置的 JUnit Task 有一个 showoutput 属性,它将把测试产生的任何输出发送到 ant 的日志记录系统。

另请参阅此SO问题antjunit任务不报告有关报告选项的详细信息。

实现此目的的一种方法是在 Ant 脚本的 junit 任务中包含属性:

<junit fork="yes">
  <jvmarg value="-Druntime.agent=ANT"/>
  ...
</junit>

然后,在 JUnit 测试工具中查询该属性的存在和/或属性:

String agent = System.getProperty("runtime.agent");
if ("ANT".equals(agent)) {
    // set up file logging
} else {
    // set up STDOUT logging
}

相关内容

  • 没有找到相关文章

最新更新