重新运行失败的安卓测试

Jon*_*Jon 5 android gradle android-testing android-gradle-plugin

有没有办法使用 Gradle 在 Android 上只运行失败的测试集?

目前,我按如下方式运行测试。

./gradle connectedDebugAndroidTest
Run Code Online (Sandbox Code Playgroud)

有些测试偶尔会由于难以控制的环境问题而失败,我想做的是只能运行那些失败的测试并将结果与​​之前的测试结果合并。

例如,如果我有 100 个测试并且 90 个成功,我想重新运行失败的 10 个测试。如果这 10 个第二次通过,我想将这些结果与原始测试运行合并。

看起来 Gradle 已经多次讨论过这个问题,但似乎还没有解决方案。

https://github.com/gradle/gradle/issues/4068
https://github.com/gradle/gradle/issues/4450
https://github.com/gradle/gradle/issues/1283
Run Code Online (Sandbox Code Playgroud)

谢谢!

Nee*_*ath 2

他们没有办法只重新运行失败的测试,因为它破坏了 Gradle 目前的工作方式。发生这种情况是因为在第一次运行时,Gradle 知道已通过 90 个测试。如果您更新代码,然后仅重新运行 10 个失败的测试(使用您希望他们添加的这个新选项),那么 Gradle 会认为所有测试都已通过。然而,情况并非如此,因为之前通过的测试可能因修复失败测试的更新而中断。

尽管如此,问题还是解决了。Gradle 首先重新运行失败的测试,并--fail-fast为该test任务提供一个标志。这有效地完成了您想要的操作(即仅重新运行失败的测试)。