我想在运行时识别我的JUnit
测试是否从ant
运行。原因是,如果它是从ant
运行的,我想将信息记录到日志文件中,否则我只想写入标准输出。
答案 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
}