Gradle test fixture插件用于Android开发



尝试在gradle 6.6.1中使用gradle测试fixture,使用以下插件

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项目下的几个测试源树之间共享的属性测试fixture,即

./app/src/test/java
./app/src/androidTest/java
有很好的理由共享测试助手来支持代码干燥;这种方法不是本文讨论的主题;我不是在寻求这方面的建议。这个问题的目标是让testFixtures工作的一种方式,因为我显然不明白如何做到这一点,你在这个方向的帮助是非常感激的。 如果上面的描述故意简洁,缺少必要的细节,我可以提供更多的细节。

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

找不到提供请求的project:modtwo的变体能力Fictures: modtwo-test-fixtures:未指明的

他们似乎和产品口味有冲突。这里也有错误的信息,因为在这个例子中,它不是一个android项目。

apply plugin: 'java-test-fixtures'
apply plugin: 'java-library'

你不想把这两个插件放在你的应用模块中。它们属于生成fixture的库模块。

相关内容

最新更新