未找到类:在Android Studio中运行单元测试时清空测试套件

时间:2016-06-27 14:42:49

标签: android unit-testing

我的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}}文件夹

14 个答案:

答案 0 :(得分:63)

我遇到了类似的问题,因为我首先创建了一个具有相同类名的单元测试。当我创建仪表单元测试时,我收到了错误。

为了解决这个问题,我进入了运行图标左侧的编辑配置。然后在单元测试下面,是'冲突'类,我删除了。单击Apply / Ok。然后我右键单击班级名称,点击运行并瞧,它有效。

答案 1 :(得分:14)

我遇到了同样的问题。我注意到测试中的方法正在运行/调试配置下拉列表中显示为:
TestClassName.testMethod()
而不是正确的:
testMethod()

我通过删除给出此错误的测试方法的TestClass.testMethod()运行/调试配置来修复它,然后重新运行测试。

如果重新创建同样的问题,请删除错误的运行/调试配置,然后右键单击测试方法并选择:
    Create 'testMethod()'...
(而不是运行或调试)来创建一个工作配置。

答案 2 :(得分:10)

Android Studio上的修复程序是:

  • 步骤1.-转到运行/调试配置
  • 第2步 - 转到Android测试部分
  • 步骤3.-使用( - )
  • 删除测试配置文件
  • 步骤4.-按Apply并按OK
  • 步骤5.-再次运行测试

答案 3 :(得分:8)

碰巧-用Kotlin编写单元测试。就我而言,我忘记了在给定的模块build.gradle文件中添加kotlin插件:

apply plugin: 'kotlin-android'

答案 4 :(得分:5)

我遇到了这个问题,这个帖子(或其他高度可见的Stack Overflow帖子)的答案都没有为我解决。
但是,手动运行gradle任务 compileTestKotlin 似乎已经为我解决了这个问题。

这是针对Kotlin测试的,Android Studio 3.1.2

答案 5 :(得分:2)

如果您使用Robolectric,您可能需要将运行配置中的工作目录设置为$ MODULE_DIR $ enter image description here

还设置VM选项 :-ea 或:-noverify

http://robolectric.org/getting-started/

答案 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/commonsrc/flavor。在AS中选择​​的构建类型为flavorDebug

要修复此问题,我转到“运行配置”,然后在“使用模块的类路径”下拉列表中选择了应用程序模块。选择您要测试的模块,瞧!

答案 9 :(得分:0)

为我工作:

  • 构建>清理项目
  • 运行测试

答案 10 :(得分:0)

对我来说终于工作了:

  1. ./ gradlew检查-检查了所有错误,并尝试修复了许多错误。
  2. 重新启动Android Studio
  3. 为Android JUnit创建了一个新的配置,测试类型:全部位于目录中,选择了测试目录(app / src / test)和应用模块。
  4. 运行测试

答案 11 :(得分:-1)

在我的情况下,这是由于在@BeforeClass方法中抛出异常引起的。

答案 12 :(得分:-2)

使用较低的gradle版本解决它

dependencies {
    classpath 'com.android.tools.build:gradle:2.0.0'

现在必须这样做

答案 13 :(得分:-3)

我有同样的问题。我创建了套件类,它解决了问题