- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我修改了我的项目以使其成为多平台的。
之前的状态:只有一个模块(项目)和一个 build.gradle。所有测试都在测试文件夹中,当我运行 gradlew testDebug
时,我所有的 500 个测试都在运行。
新状态:我有一个主要的 gradle 项目,它除了包含 3 个模块之外什么都不做
这些模块中的每一个都有自己的 gradle 文件,但只能构建 android 和 rasberryPi 模块。在它们的依赖项中(在它们各自的 build.gradle 文件中),它们针对“核心”模块进行编译。像这样:
dependencies {
compile project(':clapcore')
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android:android:4.1.1.4'
}
我所有的 500 个测试现在都在核心中。因此,当我在 Android 模块上执行 gradlew clean assembleDebug testDebug
时,没有检测到测试并且 test-result 文件夹为空。
我试图直接在核心模块上运行 testDebug
命令,但由于它不是自行构建的,所以我收到错误:
FAILURE: Build failed with an exception.
* What went wrong:
Task 'testDebug' not found in project ':core'.
所以我的问题是:在 gradle 中,有没有办法告诉“testDebug”命令运行其模块依赖项(核心)中的所有测试?
我也试过在 android 模块的依赖中添加一个 testCompile 但它不起作用,像这样:
dependencies {
compile project(':clapcore')
testCompile project(':clapcore')
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android:android:4.1.1.4'
}
谢谢!
编辑我发现我可以在核心上执行命令 gradlew build
,它将在“核心”模块中运行测试。但如果可能的话,我想要一种通过“级联”运行这些测试的方法。
*编辑 2 *我发现我可以在“android”模块上执行命令 gradlew buildNeeded
,它将为 android 模块和核心构建。不幸的是,它只在发布时构建!如果有人能指出一种使用此功能但处于调试状态的方法,那就太棒了。我在调试中需要它,因为发布构建会启动更多任务,例如版本更改、提交到 git、推送等...这仅适用于夜间构建,因此需要处于调试状态。
最佳答案
看了Gradle网站的文档后,我发现buildNeeded
这个很好用的函数只是运行所有的buildType,你不能改变。唯一可以让您选择构建类型的函数分别是 assembleDebug
和 assembleRelease
。
由于我的发布过程(创建标签、更新版本、推送到 git 等)是在 assembleRelease
之后运行的,所以我被卡住了,因为正在运行 buildNeeded
在夜间构建中会触发发布过程。
所以我修改了我的 build.gradle 文件以创建一个名为 releaseVersion
的任务,它依赖于 zipalignRelease
。因此,当我真的想创建一个版本时,我会调用 releaseVersion
,但当我只想在夜间构建中构建/测试时,我会调用 buildNeeded
命令。
注意事项:测试结果将在每个模块的每个“构建”文件夹中。如果您使用 CI,请小心清洁所有模块。
关于java - Gradle : How to run tests from a module dependency?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37050469/
如果我有一个包含 debian/control 和 Build-Depends 条目的 Depends 文件。 如何安装两组依赖项? 目前我正在使用以下命令创建一个依赖于 Build-Depends
我一直在查看衬底节点模板的Cargo.toml文件,并注意到,对于大多数 crate 而言,其依赖性如下所示: [dependencies.grandpa] package = 'sc-finalit
我在 Netbeans 7.1 IDE 中有一个 Maven 项目。 我想为 Dependencies 添加相同的依赖项和 Test Dependencies . 添加到一个中会将其从另一个中删除。
我正在尝试解决此处描述的问题: http://www.jayway.com/2013/04/12/solving-asm-conflicts-after-upgrading-to-groovy-2-1
我研究过这个问题,但找不到共识。如果“A 依赖于 B”,术语“依赖性”指的是: 一个 B A和B的关系 这个术语在计算机技术的不同子领域中是否有不同的含义? 最佳答案 B 将是依赖项。您可能会以“B
WebLogic 10.3.6Java 1.6 所以我在使用 Eclipse 时遇到了 XML 问题。 7天前我去度假之前,这一切运行良好。事实上,在我离开之前,我恢复到了旧版本,因为我在一些不太重要
在问这个问题之前,我想说 this stackoverflow 中的问题与我的问题非常相似,但概念仍然不清楚,非常困惑。 我想了解依赖倒置原则,但我无法完全理解它? 下面是DIP说的两点 A. Hig
很难说出这里问的是什么。这个问题是模棱两可的、模糊的、不完整的、过于宽泛的或修辞的,无法以目前的形式得到合理的回答。如需帮助澄清这个问题以便重新打开它,visit the help center .
我正在尝试使用 apache maven 创建一个包。当我运行 mvn clean install 命令时,出现以下错误: dependencies.dependency.version' is mi
在 Real World Ocaml Chapter 9这是关于仿函数的: Dependency injection Makes the implementations of some compone
我已经构建了类似用于创建网站的基本模板/工作流的东西,主要使用 Grunt。 该模板的一部分是 Modernizr 特征检测库,我的一项 Grunt 任务依赖于它。 目前我只是将该依赖项存储在我的 b
我有固定依赖项的 python 项目。由于第三方依赖项中的错误,在我的包中发现了错误。该依赖项已发布修复该错误的补丁。然而,根据 semantic versioning ,是否为固定依赖项的每个补丁版
使用插件io.spring.dependency-management ,我的依赖的一些版本是从其他依赖中扣除的 id("io.spring.dependency-management") versi
我有这两个表“员工表,从属表” 员工表有“ID, employee_id, employee_name” 从属表有“ID, employee_id, dependent_name, relations
我正在使用 Eclipse 中的一个 mavenised java 项目,其中有几个模块无法构建并从 pom 文件中抛出错误: Project build error: 'dependencies.d
我有一个包含多个模块的 maven 项目。在 Eclipse(Juno,带有 m2e)中,它似乎编译得很好。但是当我在其中一个模块上进行 maven 安装时,构建会立即失败。 父 pom: com
我使用 eclipse juno 创建了一个 maven 项目并编辑了 pom 文件。当我通过“mvn clean install”使用命令提示符运行 pom 文件时,出现此错误。 [ERROR] T
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 6 年前。 Improv
似乎包括与 provided 的直接依赖关系范围很好理解。似乎还包括带有 runtime 的传递依赖项。范围也很容易实现。 但是我如何才能包含两个间接级别的依赖项? 例子: A --> B --> C
我有以下情况: 我想在我的另一个项目中使用我的一个项目(托管在 bintray.com 上)。 我设置了一个 Maven 存储库,上传了 Artifact 和 pom 文件,然后能够使用上传到 bin
我是一名优秀的程序员,十分优秀!