【问题标题】:Multi-module gradle project - Executing all Unit tests多模块 gradle 项目 - 执行所有单元测试
【发布时间】:2018-07-23 17:21:39
【问题描述】:

我们当前的设置如下:一个根项目有九个子模块,它们混合在纯 Java 库和 Android 库之间。

每个模块都包含功能,其中一个模块是 main 模块,它通过合并所有必需的模块来构建 Android 应用程序。

每个模块都包含大量单元测试,我想在一个 gradle 步骤中执行它们。现在我正在为此使用gradlew test,但由于(例如)main 模块有多个product flavors,它会多次执行该模块中的单元测试(针对每种风格)。

理想情况下,我想只执行一次 main 模块单元测试,以获得某种风格和签名配置,但由于 testFlavorDebug 任务是在评估项目时创建的(据我所知)我在实际执行评估之前无法定义它。

我尝试在 afterEvaluate 块中查找任务,我尝试遍历所有模块、不同的组合和方式,但我似乎无法弄清楚如何正确设置它。

如果有人对这样的设置有一些指示或经验并可以帮助我,我会很高兴。如果您需要更多信息,请告诉我,我会提供,但就项目设置而言,多模块设置非常简单。

【问题讨论】:

  • 为什么不直接覆盖 gradle 中的测试方法,让它只为主要风格运行?
  • 谢谢。我已经尝试在我的main 模块中覆盖test 任务,但这似乎也阻止了它为其他模块执行test 任务。你有一个例子吗?编辑:似乎在 clean 之后它实际上确实执行了所有单元测试。
  • 所以...它有效吗?
  • 是的。如果您将其发布为答案,我会接受。

标签: android unit-testing gradle


【解决方案1】:

您可以在主模块的 build.gradle 中覆盖测试方法以仅运行一次

【讨论】:

    猜你喜欢
    • 2020-05-27
    • 1970-01-01
    • 1970-01-01
    • 2020-11-21
    • 1970-01-01
    • 1970-01-01
    • 2016-10-19
    • 2010-12-26
    • 1970-01-01
    相关资源
    最近更新 更多