我们设置了 Gradle 来构建和测试我们的 Android 应用。现在我们遇到了一个问题,即在项目某处重命名类后,Gradle 测试运行失败 重现:
Execution failed for task ':PROJ:compileDebugUnitTestJavaWithJavac'.
> Unable to read class file: '/path/to/class/with/the/name/before/renaming.class'
这个错误是可重现的......
- 本地(从 Android Studio 运行 gradle 测试,或在命令行上使用
./gradlew test
),以及 - 远程,当测试在我们的 CI(Teamcity 服务器)上运行时。
解决问题的方法是在本地手动触发重建(例如在 Android Studio Build > Rebuild Project 中)或使用标志 重新运行 Teamcity 任务>在构建之前清除结帐目录中的所有文件
设置。
有什么方法可以让我们的测试在类重命名后不失败?
虽然上面的解决方案足够简单,但有点烦人的是,将其添加到我们的存储库中的简单重命名会破坏 CI 构建……我们真的希望它们保持绿色。 :)
最佳答案
这是一个 known issue在 Gradle 2.14 和 2.14.1 中,在即将发布的 Android Gradle 插件版本中将有一个解决方法。
作为解决方法,您可以为您的项目进行干净的构建。对于 CI 构建,干净的构建无论如何都是一个好主意。
关于android - 类重命名后 Gradle 测试运行失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39372087/