11

我正在尝试将我的项目更新为最近发布的 Android 测试支持库版本1.0.0。但是,如果我添加assertj-core依赖项 Gradle 检测测试任务开始失败并显示“未找到测试”消息。不过,我可以从 IDE 成功运行单个测试。

很容易重现问题:

  1. 使用空活动从 Android Studio 3 创建新项目。
  2. 添加assertj-core依赖。
  3. 从命令行运行检测测试./gradlew connectedDebugAndroidTest

梯度脚本。

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"
}

控制台输出。

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).

如果降级com.android.support.test:runner到以前的版本0.5 ,测试会成功运行。

4

1 回答 1

0

除非其中至少一个名称以test.

我创建了一个虚拟的忽略测试用例:

@Test
fun testDummy() {
    Assume.assumeTrue(false)
}
于 2018-04-16T02:36:47.633 回答