我正在Bitrise中配置工作流,以运行针对Android项目的检测测试。我不知道为什么,但是在Bitrise ui测试期间AndroidTest资源目录不可用。我的build.gradle
sourceSets {
androidTest {
resources.srcDirs += ['src/AndroidTest/assets']
}
}
我正在执行此操作以从测试中加载资产:
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(filename);
这在本地运行正常,但是在Bitrise中找不到资产。对这个问题有任何想法吗?
谢谢!
答案 0 :(得分:1)
我找到了解决此问题的解决方法。我没有在src/AndroidTest/assets
中添加资源,而是创建了一个仅用于调试构建变体的新资产文件夹:
在这种情况下,我不再需要将资产添加为其他文件夹,因为它已经包含在测试apk中。使用debug build变量,此文件夹将不包含在发行版APK中,因此该解决方案对我来说效果很好。
唯一的区别是现在为了加载资源,我需要通过以下方式通过测试内部的上下文进行加载:
InputStream inputStream = InstrumentationRegistry.getTargetContext().getAssets().open("mock/" + filename);