命令的输出未显示在gradle测试报告的标准输出中

时间:2014-09-28 15:17:59

标签: java groovy junit gradle

我在用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
}

执行上述代码的结果如下:

The result of executing the above code

如果我使用Run As在我的eclipse中执行上面的代码 - > JUnit Test,ls命令的输出成功显示在控制台窗口中。

ls command's output shows up in the Console window

1 个答案:

答案 0 :(得分:2)

在您的构建脚本中,添加:

test {
    testLogging.showStandardStreams = true
}