更新到Android Studio Chipmunk后,单元测试无法运行

10

我一直在使用Android Studio Bumblebee开发项目,项目包含多个包,其中一些使用Junit和Mockito编写了测试类。
为了提高代码覆盖率,在Debug配置中排除了没有单元测试的包。但是在升级到Android Studio Chipmunk后,如果我排除任何一个包或任何一个类文件,再次运行时,不会运行任何测试用例,并显示以下消息:

未收到测试事件

我还尝试添加需要进行覆盖测试的类,但问题依旧。


这是唯一的信息吗?如果您有更多的日志消息,请分享它们。 - elbraulio
我有同样的问题,在构建标签中只收到以下内容:任务执行完成 'testDebugUnitTest --tests "com.mypackage*" --stacktrace'。 - htafoya
当我修改“运行配置”(例如添加跟踪)时,我遇到了相同的问题,我需要从终端运行测试。 - padPad
1
显然,IntelliJ IDEA 2021.2 存在一个与 AS Chipmunk 基于的 bug。目前唯一“正确”的解决方法是降级到 Bumblebee 直到问题得到解决。到目前为止,这个问题似乎甚至在 Dolphin 的 Beta 1 中仍然存在。或者,您可以将“主”源代码导入到“测试”源代码中,但在我看来,这甚至不是一个解决方法,它只是简单的糟糕,并且仍然会破坏您可能拥有的任何 CI/CD。 - Chapz
我同意你的看法,@Chapz,将Android Studio降级到bumblebee版本解决了这个问题。 - subin
我觉得我可能会因为这场灾难失去工作。我们的500多个测试不再运行,这将影响我们在CI/CD管道中的脚本,并且我们因此被阻止了,因为我们无法将任何东西发送给QA。在升级到Android构建gradle工具7.2.2后,测试出现了故障。真是一场糟糕的灾难。 - Neon Warge
5个回答

3

作为解决办法,您可以通过gradle任务窗口运行测试:

使用您在运行配置中使用的命令:

gradle testDebugUnitTest --tests "your.package*"

enter image description here


0

我遇到了同样的问题。今天我更新了最新的AS - Chipmunk Patch2,AGP至7.2.2和Gradle至7.3.3,问题已经解决,而不需要任何其他的改变或解决方法。似乎这个bug已经被修复了。


0

在Dolphin中完美运行。要重现成功,请执行以下操作:

  1. 使用加号按钮在“运行/调试配置”中添加一个新的“Gradle配置”。
  2. 在名称文本框中给它命名(例如“All Unit Tests”)
  3. 在运行文本框中添加以下内容:testDebugUnitTest --tests "com.example.*"其中com.example是您在所有模块中共同使用的命名空间,将.*保留在末尾,这是秘密酱汁。
  4. 在Gradle项目框中确保选择了根Gradle构建文件。
  5. 单击应用/确定,然后选择配置并运行。

现在应该一切正常...或者可能不正常,具体取决于任何测试是否失败 ;)


0
在你的模块 build.gradle 中添加 testImplementation project(":name-of-your-module")

这是一个解决方法!


1
这不是一个好的解决方法,因为它会破坏CI/CD流水线。问题在于AS Chipmunk基于的IntelliJ IDEA版本,并且目前还没有修复。 - Chapz

0
如果您使用Kotlin,请检查您的“build.gradle”文件并添加apply“kotlin-android”插件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接