【问题标题】:AndroidTest Resource Folder in BitriseBitrise 中的 AndroidTest 资源文件夹
【发布时间】:2019-01-15 09:32:22
【问题描述】:

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

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

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

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

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

谢谢!

【问题讨论】:

  • 您可以尝试将此存储库的新 git 克隆到新目录吗?大多数情况下,“它在本地工作但在 Bitrise 上不起作用”的原因是您在本地有一些文件不在存储库中,因此在 git clone 后在 Bitrise 上不可用。如果这没有帮助,请通过现场聊天或电子邮件联系 bitrise 支持,因为没有更多详细信息,很难判断可能是什么问题,但我们的支持团队可以指导您完成调试 :)
  • @ViktorBenei 感谢您的帮助,该文件夹已包含在 repo 中,但我不知道为什么它未包含在测试 apk 中。我发布了一个带有解决方法的新答案,现在在 bitrise 中工作顺利:)
  • 很高兴听到并感谢分享@rdiaz82! :)

标签: android android-testing ui-testing bitrise


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-06
    相关资源
    最近更新 更多