【问题标题】:Gradle test fixtures plugin for Android development用于 Android 开发的 Gradle 测试夹具插件
【发布时间】:2021-02-15 19:48:22
【问题描述】:

尝试在 gradle 6.6.1 中使用 gradle 测试装置,使用以下插件集

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-parcelize'
apply plugin: 'org.jetbrains.kotlin.kapt'
apply plugin: 'java-test-fixtures'

产生错误

org.gradle.internal.metaobject.AbstractDynamicObject$CustomMessageMissingMethodException: Could not find method testFixturesApi() for arguments [io.kotest:kotest-property:4.3.0] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

testFixturesImplementation 的类似结果) 按照文档的要求添加java-library 插件:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-parcelize'
apply plugin: 'org.jetbrains.kotlin.kapt'
apply plugin: 'java-test-fixtures'
apply plugin: 'java-library'

产生类似于

的东西
The 'java' plugin has been applied, but it is not compatible with the Android plugins.

在 Ubuntu 20.04 上使用 kotlin 1.4(可能还有 kotest)为 Android 构建时,如何让 gradle testFixtures 工作?我的总体意图是使用自定义 kotest 生成器来创建在同一个 app 项目下的多个测试源树之间共享的属性测试装置,即

./app/src/test/java
./app/src/androidTest/java

共享测试助手以支持代码枯燥是有充分理由的;这种方法不是本次讨论的主题;我不是在寻求这方面的建议。这个问题的目标是让testFixtures 工作,因为我显然不明白如何做到这一点,非常感谢您在这个方向上的帮助。如果上述描述故意简洁,但缺少必要的细节,我可以提供更多细节。

【问题讨论】:

    标签: android unit-testing kotlin gradle java-test-fixtures


    【解决方案1】:

    它们在 android 项目中不受支持,我在生产项目中进行了测试,还创建了示例项目。我有这样的错误

    无法找到项目的变体 :modtwo 提供请求 能力图片:modtwo-test-fixtures:未指定

    似乎它们与产品风味有冲突。还有错误信息here,因为在示例中它不是android项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-31
      • 1970-01-01
      • 2015-09-12
      • 2015-07-08
      相关资源
      最近更新 更多