gradle connectedAndroidTest returns "No test found",但是 adb shell am instrument 可以找到测试

gradle connectedAndroidTest returns "No test found", however adb shell am instrument can find the tests

我们有一个库项目,多个应用程序依赖于它。单元测试在图书馆项目中。 我们能够 运行 来自 Android Studio 中的依赖项目的测试,但是

./gradlew :[DependentProject]:connectedAndroidTest 

总是returns“未找到测试,无事可做”。

通过观察,我发现在Android Studio中,似乎只执行gradle个任务:

:[DependentProject]:assembleDebug, :[DependentProject]assembleDebugTest

然后使用 adb 安装目标和测试 apk,并且 adb shell 是 运行 测试的工具。

由于连接Android测试依赖于这两个任务,我安装了target并测试了它生成的apks,并手动调用了instrument命令,测试开始了。

adb shell am instrument -w com.package.test/android.test.InstrumentationTestRunner

那么问题来了,connectedAndroidTest在哪里找测试,为什么它找不到测试,而adb instrument可以?如何解决这个问题?

我有同样的问题,我通过 添加一个以 "test"

开头的方法来解决
@Test
public void testWTF() throws Exception {
    assertTrue(true);
}

所有其他带有 @Test 注释的方法也有效!

太棒了不是吗?我在这里找到了答案:No tests found with test runner 'JUnit 4'