找不到测试 Android Studio 3.2

13

在包上右键单击并选择运行测试...会出现消息未找到测试。在早期版本的Android Studio中,我的测试可以使用此方法找到并运行。似乎仍然可以通过单独运行测试类来工作。我已经尝试了无效缓存/重新启动,但仍然遇到相同的问题。

日志:

---- IntelliJ IDEA coverage runner ---- 
sampling ...
include patterns:
exclude patterns:0 test classes found in package '<default package>'

Process finished with exit code 254
Empty test suite.

希望能得到任何正确方向上的指引,谢谢!


1
@Onik 目前的 Android Studio 3.3 (canary 12) 并没有解决这个问题。创建新项目后,单元测试无法运行(未找到测试)。 - Greg Ennis
6个回答

6
当 AS 尝试运行单元测试(test/文件夹)而不是仪器测试(androidTest/文件夹),或者配置的包规范错误时,我看到过这种情况发生。
  1. 确保右键单击文件夹以运行测试包并选择“运行”时,图标上有一个小机器人来表示将该文件夹视为Android测试:

    enter image description here

    如果没有,请继续进行第2步。如果有,请跳到第3步。

  2. 有时AS会混淆Android测试和单元测试。要解决这个问题,请单击工具栏中的“运行配置”图标,然后选择“编辑配置…”

    enter image description here

    您应该会看到一个选项用于Android测试:

    enter image description here

    选择它并复制该配置,然后在右侧将其从“模块中的所有内容”更改为“包中的所有内容”

  3. 确保包测试的配置指定了您要测试的完整包:

    enter image description here

一旦您的配置正确设置以运行 Android 测试并明确指示要运行的测试的完整和正确的包,它应该可以正常工作。
希望这可以帮到您!

你的图像与Android Studio 3.2有所不同。我猜测'Test Kind:'设置为'All in package','Search for tests:'设置为'In single module',以及'Use classpath of module:'设置为测试模块。但是很遗憾,测试仍然失败了。 - illusionJJ

2

已修复于Android Studio 3.2.1版本


它现在可以检测到测试,但由于某些原因,对于测试的更改无法被检测到,因此您经常运行旧测试。除了从控制台运行测试之外,您是否找到了其他解决方法? - Pin
嘿@Pin!我刚试了一下,我的更改立即被接受了。我建议你为你的问题创建另一个帖子。祝你好运! - Aidan Laing

2
如果您正在使用JUnit 5并且已经在您的build.gradle中同步了JUnit 4,则请确保@Test注释应该从org.junit.jupiter.api.Test导入进行注释。"最初的回答"

2

我遇到的情况是清除缓存并重启解决了问题,这个方法值得一试。


1

这是经典的。以下步骤可能有所帮助:

  1. 终止Gradle守护进程:./gradlew --stop
  2. 重新导入项目:关闭Android Studio窗口,从最近项目列表中删除该项目,再次导入。
  3. 向工具团队报告问题:https://developer.android.com/studio/report-bugs

7
我认为这是经典的意义在于,一旦有新版本发布,就立即更新AS,然后后悔自己这样做了... - lelloman

0
在我的情况中,我无意中将JUnit4和JUnit5都放在了类路径上。
尽管我试图在我的测试中使用JUnit5,但我的一个测试依赖项有一个传递依赖于旧版本。
在清理类路径后,Android Studio(3.2.1)能够再次找到测试。

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