我的Android应用程序测试套件,所有单元测试运行正常。但是,每当我在我的一个单元测试类中进行单个更改(例如,Process finished with exit code 1
Class not found: "xxx.xxxxxx.xxx.ModelUnitTests"Empty test suite.
)时,当再次尝试运行该类时,我会收到此消息
module/src/test/package
如果我做了一个gradle清理然后再次运行类测试,它运行正常(但需要4分钟才能完成......),但是新的更改会再次破坏它。
有关如何解决此问题的任何建议?我不确定应该发布哪种测试配置。我正在使用Unit Tests工件,我的测试位于 {{1}}文件夹
答案 0 :(得分:63)
我遇到了类似的问题,因为我首先创建了一个具有相同类名的单元测试。当我创建仪表单元测试时,我收到了错误。
为了解决这个问题,我进入了运行图标左侧的编辑配置。然后在单元测试下面,是'冲突'类,我删除了。单击Apply / Ok。然后我右键单击班级名称,点击运行并瞧,它有效。
答案 1 :(得分:14)
我遇到了同样的问题。我注意到测试中的方法正在运行/调试配置下拉列表中显示为:
TestClassName.testMethod()
而不是正确的:
testMethod()
我通过删除给出此错误的测试方法的TestClass.testMethod()
运行/调试配置来修复它,然后重新运行测试。
如果重新创建同样的问题,请删除错误的运行/调试配置,然后右键单击测试方法并选择:
Create 'testMethod()'...
(而不是运行或调试)来创建一个工作配置。
答案 2 :(得分:10)
Android Studio上的修复程序是:
答案 3 :(得分:8)
碰巧-用Kotlin编写单元测试。就我而言,我忘记了在给定的模块build.gradle
文件中添加kotlin插件:
apply plugin: 'kotlin-android'
答案 4 :(得分:5)
我遇到了这个问题,这个帖子(或其他高度可见的Stack Overflow帖子)的答案都没有为我解决。
但是,手动运行gradle任务 compileTestKotlin 似乎已经为我解决了这个问题。
这是针对Kotlin测试的,Android Studio 3.1.2
答案 5 :(得分:2)
答案 6 :(得分:2)
如果您正在组建团队,请检查所有build.gradle
个文件,以确保没有人禁用测试任务。我有一个空的测试套件'错误并最终发现它是由项目根目录build.gradle
中的以下内容引起的:
gradle.taskGraph.whenReady {
tasks.each { task ->
if (task.name.contains("Test"))
{
task.enabled = false
}
}
}
答案 7 :(得分:0)
今天我的一个测试班遇到了这个问题,这里的解决方案似乎都没有帮助。但是,仅运行其他测试类即可解决该问题-之后,原来有问题的测试类可以正确运行。
答案 8 :(得分:0)
发生在AS 3.3中。
我使用矫味剂和发生这种情况的模块仅具有src/main
,并在src/test
。该应用程序模块具有src/main
src/common
和src/flavor
。在AS中选择的构建类型为flavorDebug
。
要修复此问题,我转到“运行配置”,然后在“使用模块的类路径”下拉列表中选择了应用程序模块。选择您要测试的模块,瞧!
答案 9 :(得分:0)
为我工作:
答案 10 :(得分:0)
对我来说终于工作了:
答案 11 :(得分:-1)
在我的情况下,这是由于在@BeforeClass方法中抛出异常引起的。
答案 12 :(得分:-2)
使用较低的gradle版本解决它
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0'
现在必须这样做
答案 13 :(得分:-3)
我有同样的问题。我创建了套件类,它解决了问题