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

时间:2014-11-18 20:31:45

标签: java ant junit

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

2 个答案:

答案 0 :(得分:1)

内置于JUnit Task的Ant具有showoutput属性,该属性会将测试产生的任何输出发送到蚂蚁的日志记录系统。

另请参阅此问题ant junit task does not report detail有关报告选项。

答案 1 :(得分:0)

实现此目的的一种方法是在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
}