Jenkins 有时会在 LEGACY 资源模式下运行 robolecrtic 测试

Jenkins sometimes runs robolecrtic tests in LEGACY resources mode

我看到一个非常奇怪的问题,有时,我的 android 单元测试 运行 使用 robolectric (@RunWith(RobolectricTestRunner::class)) 运行 配置作为 LEGACY 资源模式,而不是 BINARY 资源模式。

我确定我的代码配置正确:

每个模块有android.enableUnitTestBinaryResources=true

每个模块有testOptions { unitTests { includeAndroidResources = true }}

我正在使用 gradle 5.6.2 和 android 插件 3.5.0

在 jenkins 上 运行 在 LEGACY 模式下的单元测试失败,因为缺少一些必需的 android 资源,因此出现了这个问题。但每次我 运行 在 Android Studio 中本地进行相同的测试时,没有问题,一切总是 运行 作为二进制资源模式。 失败的测试似乎也是一致的。

非常感谢任何想法!

可能是我们几周前遇到的问题:

https://issuetracker.google.com/issues/145162807

我们在 gitlab 设置上遇到了非常相似的问题。