2

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

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

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

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

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

谢谢!

4

1 回答 1

1

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

在此处输入图像描述

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

唯一的区别是,现在为了加载资源,我需要通过测试中的上下文以下列方式执行此操作:

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

于 2019-01-16T11:17:32.783 回答