Instrumented tests failure with AndroidJUnitRunner 1.0.0 and AssertJ

Viewed 599

I'm trying to update my project to recently released Android Test Support library version 1.0.0. But if I add assertj-core dependency Gradle instrumented test tasks start to fail with "No tests found" message. I can successfully run individual tests from IDE though.

It is easy to reproduce the problem:

  1. Create new project from Android Studio 3 with empty activity.
  2. Add assertj-core dependency.
  3. Run instrumentation tests from command line ./gradlew connectedDebugAndroidTest.

Gradle script.

android {
    defaultConfig {
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
}

dependencies {
    implementation 'com.android.support:appcompat-v7:26.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.0'
    androidTestImplementation group: "org.assertj", name: "assertj-core", version: "2.8.0"
}

Console output.

com.android.builder.testing.ConnectedDevice > No tests found.
[Nexus_4_API_25(AVD) - 7.1.1] FAILED 
No tests found. This usually means that your test classes are not in the form that your test runner expects (e.g. don't inherit from TestCase or lack @Test annotations).

Tests successfully run if downgrade com.android.support.test:runner to previous version 0.5.

1 Answers
Related