gpt4 book ai didi

android - Gradle - 将依赖项添加到另一个模块的测试

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:22:02 25 4
gpt4 key购买 nike

我有一个多模块 gradle 项目,如下所示:

Parent
|--server
|--application (android module)
+--common

服务器测试依赖于公共(public)模块测试。为此,我添加了

testCompile files(project(':common').sourceSets.test.output.classesDi
compileTestJava.dependsOn tasks.getByPath(':common:testClasses')

而且效果很好。不幸的是,当我尝试对也依赖于公共(public)模块测试的应用程序模块做同样的事情时,它不会工作。它失败了:

Build file 'application\build.gradle' line: 103
A problem occurred evaluating project ':application'.
Could not find property 'sourceSets' on project ':common'

在谷歌搜索了一下之后我也试过了

 project.evaluationDependsOn(':common')
testCompile files(project(':common').sourceSets.test.output.classesDir)

但因另一个异常而失败:

Project application: Only Jar-type local dependencies are supported. Cannot handle: common\build\classes\test

关于如何解决这个问题有什么想法吗?

最佳答案

本文中有几种方法可以解决导入测试类的问题。 https://softnoise.wordpress.com/2014/09/07/gradle-sub-project-test-dependencies-in-multi-project-builds/我用的是:

共享模块中的代码:

task jarTest (type: Jar) {
from sourceSets.test.output
classifier = 'test'
}

configurations {
testOutput
}

artifacts {
testOutput jarTest
}

模块中的代码取决于共享模块:
依赖项{
testCompile 项目(路径:':common',配置:'testOutput')
}

而且似乎还有一个插件! https://plugins.gradle.org/plugin/com.github.hauner.jarTest/1.0

关于android - Gradle - 将依赖项添加到另一个模块的测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34602954/

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