如何在Android单元测试中打开控制台输出?

sca*_*ana 33 android android-testing android-gradle-plugin

有没有办法在控制台输出中打开测试日志记录?

我知道我们可以查看HTML文件中生成的测试结果并检查那里的标准输出,但我发现它有点不方便.

我知道有一种方法可以使用标准的java插件来做到这一点:

test {
    testLogging {
        events "passed", "skipped", "failed", "standardOut", "standardError"
    }
}
Run Code Online (Sandbox Code Playgroud)

但在Android项目中使用它会导致错误:

Could not find method test()
Run Code Online (Sandbox Code Playgroud)

当然,应用java插件是不可接受的,因为它与Android插件不兼容.

nin*_*ong 42

android {

...

  testOptions {
        unitTests.all {
        // All the usual Gradle options.
            testLogging {
                events "passed", "skipped", "failed", "standardOut", "standardError"
                outputs.upToDateWhen {false}
                showStandardStreams = true
            }
        }
    } 
}
Run Code Online (Sandbox Code Playgroud)

就我而言,我遵循了这个文件并添加了testLogging上面的选项.这应该打印出在src/test文件夹下写入的单元测试的日志,而不是那个src/androidTest.在这个答案的那一刻,我正在使用Android Studio 2.0预览和gradle 2.8.该命令是./gradlew test./gradlew test --continue在其中运行在的iTerm 2.


Kav*_*avi 5

这应该做到这一点

android {

...

  testOptions.unitTests.all {
    testLogging {
      events 'passed', 'skipped', 'failed', 'standardOut', 'standardError'
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

资料来源:https://groups.google.com/forum/#!topic/adt- dev/ LwZiKTnj8Bc

  • 这实际上对我有用.非常感谢! (2认同)