gpt4 book ai didi

android - 一种在多个 android 测试模块之间共享代码的方法

转载 作者:IT老高 更新时间:2023-10-28 23:07:32 24 4
gpt4 key购买 nike

我想实现这样的目标:

[ComponentTestsModule] com.android.test
[FunctionalTestsModule] com.android.test
both depends on
-> [TestLibraryModule] ?
which depends on
-> [AppModule] com.android.application

android Gradle plugin 3.0+有什么办法吗?

为什么我需要多个测试模块?

我希望针对不同类型的测试使用不同的测试运行器,同时针对不同的变体。它现在可以在 androidTest 下使用单个代码库,但在自定义测试运行器中使用丑陋的开关。

为什么我需要一个测试库模块?

我想在不同类型的测试之间共享相同的页面对象,也许还有一些实用程序代码。问题是:页面对象必须有权访问应用程序的 R 类(定位器:R.id.*)

我所知道的模块类型都不能依赖于生成 APK 的模块,期望来自 com.android.test,但我不能依赖于 com.android.test 与另一个 com.android.test

最佳答案

我最近遇到了这个问题,只是想分享我的解决方案,以防有人需要它。

到目前为止我所做的(不是一个完美的解决方案 - 我猜,但至少它有效)。

  1. 创建一个名为 testing_base 或类似名称的新 module 或类似名称

  2. testing_base module only 放与 testing 相关的东西(比如你想要的代码在模块之间共享)到普通包中,不在测试包/文件夹中

  3. 从其他模块,尝试从 testing_base module

  4. 导入东西

ex: testImplementation project(":testing_base")

希望对大家有所帮助,祝测试愉快!

关于android - 一种在多个 android 测试模块之间共享代码的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45986944/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com