Gradle:未找到测试

问题描述 投票:0回答:7

当我尝试通过执行来运行 Android 测试时:

./gradlew connectedDebugAndroidTest

出现以下错误:

com.android.builder.testing.ConnectedDevice > No tests found.[devicename] 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).
:connectedDebugAndroidTest FAILED

FAILURE: Build failed with an exception.

没有对build.gradle

gradle-wrapper.properties
文件进行任何更改

通过将所有内容更新到最新版本(gradle、android插件、构建工具等)无法解决该问题

之前所有测试均成功。是什么导致了这种神秘的回归?谢谢。

android android-gradle-plugin build.gradle android-testing
7个回答
68
投票

出现此错误消息的一个可能原因是您在测试运行程序的早期就遇到了应用程序崩溃。在这种情况下,异常堆栈将出现在 logcat 中,但不会出现在 gradle 输出中。


6
投票

我遇到了问题,请尝试升级测试运行程序。从 0.4.x 升级到 0.5 解决了这个问题。确保您的 build.gradle 中有这些行:

androidTestCompile "junit:junit:4.12"
androidTestCompile "com.android.support.test:runner:0.5"

2
投票

我今天遇到了这个问题。请随意使用上面提到的所有其他有价值的解决方案,但对我来说特别有效的是完全删除“.gradle”文件夹(在 Android Studio 左侧的项目面板下找到),然后进行干净的构建。简单干净的构建对我来说不起作用。


0
投票

如果将测试放置在没有包的情况下的

test
androidTest
目录中,则可能会发生这种情况。路径应该类似于
/src/androidTest/kotlin/yourPackageName/yourTestClass


0
投票

您可以单独检查所有测试是否通过。可能某些测试失败了。有类似的问题,这就是我的情况


0
投票

我遇到了同样的错误,它还显示“在(我的模拟器的名称)上运行 0 测试” 这是因为我的模拟器使用的是 API 34,而在 build.gradle 中,targetSdk 是 30,minSdk 是 27。 所以我将模拟器 API 更改为 30,通过单击设备管理面板上的小钢笔图标并编辑模拟器 API


-3
投票

我通过从不需要的模块中删除 androidTests 文件夹来解决这个问题 - 在我的例子中是 /common 和 /data。

© www.soinside.com 2019 - 2024. All rights reserved.