在 Bitrich 的 AndroidTestResources 文件夹中

AndroidTest Resource Folder in Bitrise

我正在 Bitrise 中配置一个工作流,以 运行 我对 Android 项目的仪器测试。我不知道为什么 Android 测试资源目录在 Bitrise ui 测试期间不可用。我的 build.gradle

里有这个
sourceSets {
        androidTest {
            resources.srcDirs += ['src/AndroidTest/assets']
        }
    }

我这样做是为了从我的测试中加载资产:

InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(filename);

这在本地运行顺利,但在 Bitrise 中找不到资产。对这个问题有什么想法吗?

谢谢!

我找到了解决问题的方法。我没有在 src/AndroidTest/assets 中添加资源,而是为调试构建变体创建了一个新的资产文件夹:

在这种情况下,我不再需要将资产添加为附加文件夹,因为它已经包含在测试 apk 中。使用调试构建变体,这个文件夹将不会包含在发布 apk 中,所以这个解决方案对我来说很好用。

唯一不同的是,现在为了加载资源,我需要通过测试中的上下文按以下方式进行:

InputStream inputStream = InstrumentationRegistry.getTargetContext().getAssets().open("mock/" + filename);