我在用groovy编写的JUnit测试代码中执行一些命令,但命令的输出没有出现在gradle测试报告中。有谁知道为什么会这样?
以下是我的简化代码:
package org.myorg.myapp
import org.apache.commons.exec.CommandLine
import org.apache.commons.exec.DefaultExecutor
import org.junit.Test
class MyTest {
@Test
void executelsCommand() {
println("Started.")
String line = "ls"
CommandLine cmdLine = CommandLine.parse(line)
DefaultExecutor executor = new DefaultExecutor()
int exitValue = executor.execute(cmdLine)
println("Finished.")
}
}
的build.gradle:
apply plugin: 'java'
apply plugin: 'groovy'
repositories {
mavenCentral()
}
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.3.3'
testCompile 'org.apache.commons:commons-exec:1.2'
testCompile 'junit:junit:4.11'
}
test {
testLogging.showStandardStreams = true
}
执行上述代码的结果如下:
如果我使用Run As在我的eclipse中执行上面的代码 - > JUnit Test,ls命令的输出成功显示在控制台窗口中。
答案 0 :(得分:2)
在您的构建脚本中,添加:
test {
testLogging.showStandardStreams = true
}