第一次通过Android Studio运行单元测试会失败

时间:2019-01-22 15:50:32

标签: android android-studio android-gradle

在Mac上的Android Studio中运行单元测试时,我可以手动运行1次,然后失败,并显示错误“无法使用Gradle发行版'https://services.gadles.org/distributions/gradle-4.10-all.zip'执行构建”。

我可以通过删除.gradle文件夹并重新启动Android Studio来再次运行它,但这对于测试来说是不可持续的。

当使用./gradlew手动运行单元测试时,它每次都可以工作,但不适用于调试。

这甚至适用于最简单的测试。

想从“构建”选项卡添加特定的错误消息。这是在一个简单的测试中发生的,第一次运行它正常,第二次运行它不正常:

 @Test
  fun testTrue(){
    assertTrue(true)
  }    

FAILURE: Build failed with an exception.

* What went wrong:
java.lang.NullPointerException (no error message)

1 个答案:

答案 0 :(得分:1)

所以,我有一个可能是原因的嫌疑人,并且有一个使它在短期内起作用的黑客。

首先,黑客。正如许多其他人回答的那样,删除.gradle文件夹暂时为我解决了此问题。但是,这有点过头了,每次运行时都会强制完成一个完整的构建。

您可以通过仅删除.gradle / 4.7 / fileHashes文件夹中的fileHashes.bin和fileHashes.lock文件来部分解决此问题。我编写了一个快速脚本来删除这两个文件,并在“运行/调试配置”中编辑了“ Android JUnit”模板,以在每次运行junit之前运行该脚本。有关详细信息,请参见屏幕截图,但是您需要确保它是第一件事。 (将其拖到第一个) enter image description here

enter image description here

.bsh文件是可执行文件,只会删除这两个文件。

#!/bin/bash

echo This script deletes the .gradle files necessary for my android studio to work
cd wealth-android/.gradle/4.7/fileHashes
rm fileHashes.*

现在,真正的问题可能是我可以在机器上实现gradle的多种实现。我将进一步研究并更新答案。