How to turn on console output in Android Unit tests?

Issue

Is there any way to turn on the test logging in the console output?

I know that we can look at the test results generated in a HTML file and check standard output there, but I find it a little bit inconvinient.

I know that there is a way to do this with standard java plugin:

test {
    testLogging {
        events "passed", "skipped", "failed", "standardOut", "standardError"
    }
}

But using it in an Android project causes an error:

Could not find method test()

Applying java plugin is unacceptable, of course, as it’s not compatible with Android plugins.

Solution

android {

...

  testOptions {
        unitTests.all {
        // All the usual Gradle options.
            testLogging {
                events "passed", "skipped", "failed", "standardOut", "standardError"
                outputs.upToDateWhen {false}
                showStandardStreams  true
            }
        }
    } 
}

In my case, I followed this document and added the testLogging option as above. This should printout the log for the unit tests written under src/test folder but not the src/androidTest one. At the moment of this answer, I was using Android Studio 2.0 preview and gradle 2.8. The commands were ./gradlew test and ./gradlew test --continuein which ran in iTerm 2.

Answered By – ninjahoahong

Leave a Comment