”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何在多项目 Gradle 配置中包含跨模块的测试依赖关系?

如何在多项目 Gradle 配置中包含跨模块的测试依赖关系?

发布于2024-11-17
浏览:558

How to Include Test Dependencies Across Modules in a Multi-Project Gradle Configuration?

Gradle 中的多项目测试依赖关系

在 Gradle 中使用多项目配置时,管理跨项目测试的依赖关系可能具有挑战性。本文探讨了一个常见问题,即一个模块的测试依赖项在另一个模块中无法识别,重点关注用户遇到的具体示例。

用户具有包含两个项目 A 和 B 的多项目配置. 项目 A 包含主代码和测试源代码,而项目 B 依赖于项目 A 的主代码。但是,在项目 B 中编译测试 Java 代码时,不包含项目 A 的测试文件。

问题出在依赖上为了解决这个问题,用户需要在项目 B 的 build.gradle 文件中添加 testCompile 依赖。这将指示 Gradle 也包含来自项目 A 的测试源:

dependencies {
  ...
  testCompile project(':A').sourceSets.test.output
}

此方法已在 Gradle 版本 1.7 中进行了测试,并且已在 Gradle 版本 5.6 及更高版本中弃用。有关在 Gradle 中管理多项目测试依赖项的更新信息,请参阅相关文档或社区资源。

最新教程 更多>
  • 利用 Python 实现数据输入自动化:开发人员指南
    利用 Python 实现数据输入自动化:开发人员指南
    数据输入虽然通常被认为是平凡的,但对于维护业务记录至关重要。但在自动化时代,开发人员可以在改变公司处理大量数据的方式方面发挥关键作用。 Python 拥有庞大的库生态系统,提供了强大的工具来自动执行数据输入任务,减少人为错误并提高效率。 为什么使用 Python 自动输入数据? Py...
    编程 发布于2024-11-17
  • 如何使用 MySQL 查找今天生日的用户?
    如何使用 MySQL 查找今天生日的用户?
    如何使用 MySQL 识别今天生日的用户使用 MySQL 确定今天是否是用户的生日涉及查找生日匹配的所有行今天的日期。这可以通过一个简单的 MySQL 查询来实现,该查询将存储为 UNIX 时间戳的生日与今天的日期进行比较。以下 SQL 查询将获取今天有生日的所有用户: FROM USERS ...
    编程 发布于2024-11-17
  • 如何使用 CSS 创建带边框的透明三角形?
    如何使用 CSS 创建带边框的透明三角形?
    使用 CSS 制作带边框的透明三角形用 CSS 创建复杂的形状可能具有挑战性,但是对于三角形,有多种方法可以实现您想要的效果效果。您已经尝试过的一种方法涉及利用边框。虽然这种技术有效,但它依赖于视觉技巧。有没有更优雅的解决方案?是的,有! Webkit 独有的方法涉及利用 Unicode 字符 U ...
    编程 发布于2024-11-17
  • 大批
    大批
    方法是可以在对象上调用的 fns 数组是对象,因此它们在 JS 中也有方法。 slice(begin):将数组的一部分提取到新数组中,而不改变原始数组。 let arr = ['a','b','c','d','e']; // Usecase: Extract till index p...
    编程 发布于2024-11-17
  • 如何在不加表锁的情况下在大型MySQL生产表上创建索引?
    如何在不加表锁的情况下在大型MySQL生产表上创建索引?
    如何在不加表锁的情况下在大型MySQL生产表上创建索引问题背景: 在大型 MySQL 表上创建索引可能是一项艰巨的任务,尤其是在不间断访问至关重要的生产环境中。传统的 CREATE INDEX 语句可能会导致完全表锁定,从而阻塞所有并发操作。MySQL 版本注意事项:在 MySQL 5.6 及更高版...
    编程 发布于2024-11-17
  • 使用express-fast-json-stringify 增强 Express.js 中的 JSON 序列化性能
    使用express-fast-json-stringify 增强 Express.js 中的 JSON 序列化性能
    JSON 序列化是 Web 开发中的一项关键任务,特别是对于使用 Node.js 和 Express.js 构建的应用程序。虽然 Node.js 中的原生 JSON 序列化 (JSON.stringify()) 简单且方便,但它可能成为性能瓶颈,尤其是在重负载下。本文介绍了express-fast-...
    编程 发布于2024-11-17
  • 为什么 Go 的 `encoding/csv` 包向 CSV 文件中的引用字符串添加额外的引号?
    为什么 Go 的 `encoding/csv` 包向 CSV 文件中的引用字符串添加额外的引号?
    对 Go 中引用字符串的特殊 CSV 结果进行故障排除 Encoding/CSVGo 中的encoding/csv 包一直是有关处理引用字符串的很多争论的主题在 CSV 文件中。本文旨在通过探索用户在将带引号的字符串写入 CSV 文件时遇到额外引号所观察到的有趣现象来阐明该问题。额外引号之谜用户提供...
    编程 发布于2024-11-17
  • 除了“if”语句之外:还有哪些地方可以在不进行强制转换的情况下使用具有显式“bool”转换的类型?
    除了“if”语句之外:还有哪些地方可以在不进行强制转换的情况下使用具有显式“bool”转换的类型?
    无需强制转换即可上下文转换为 bool您的类定义了对 bool 的显式转换,使您能够在条件语句中直接使用其实例“t”。然而,这种显式转换提出了一个问题:“t”在哪里可以在不进行强制转换的情况下用作 bool?上下文转换场景C 标准指定了四种值可以根据上下文转换为 bool 的主要场景:语句:if、w...
    编程 发布于2024-11-17
  • 如何使用 Unicode 来显示具有“far”和“fas”类的 Font Awesome 5 星图标?
    如何使用 Unicode 来显示具有“far”和“fas”类的 Font Awesome 5 星图标?
    Font Awesome 5 星图标的 Unicode:使用“far”和“fas”类Font Awesome 5 提供常规和实体星形图标,两者均由 Unicode 值“\f005”表示。要在评级系统中利用这些变化,您可以利用 CSS 在“far”和“fas”类之间切换。“fas”类代表实心星星,而“...
    编程 发布于2024-11-17
  • 在 Go 中使用 WebSocket 进行实时通信
    在 Go 中使用 WebSocket 进行实时通信
    构建需要实时更新的应用程序(例如聊天应用程序、实时通知或协作工具)需要一种比传统 HTTP 更快、更具交互性的通信方法。这就是 WebSockets 发挥作用的地方!今天,我们将探讨如何在 Go 中使用 WebSocket,以便您可以向应用程序添加实时功能。 在这篇文章中,我们将介绍: WebSoc...
    编程 发布于2024-11-17
  • `MappedBy` 如何促进 JPA 和 Hibernate 中的双向关系?
    `MappedBy` 如何促进 JPA 和 Hibernate 中的双向关系?
    了解 JPA 和 Hibernate 中的 MappedBy在 JPA 和 Hibernate 等对象关系映射 (ORM) 框架中,MappedBy 是一个有用的注释在实体类之间建立双向关系。该注解用于一对多和多对一关系的上下文中。推荐用法MappedBy的推荐用法如下: 一对多关系: 在一对多关系...
    编程 发布于2024-11-17
  • 如何修复 macOS 上 Django 中的“配置不正确:加载 MySQLdb 模块时出错”?
    如何修复 macOS 上 Django 中的“配置不正确:加载 MySQLdb 模块时出错”?
    MySQL配置不正确:相对路径的问题在Django中运行python manage.py runserver时,可能会遇到以下错误:ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Library/Python/2.7/site-...
    编程 发布于2024-11-17
  • 如何在悬停时创建边框底部的动画扩展?
    如何在悬停时创建边框底部的动画扩展?
    悬停效果:边框底部的动画扩展在这个问题中,目标是创建一个悬停效果,在悬停时扩展元素的底部边框。为了达到这种效果,我们可以利用变换属性并在悬停时将其从 0 转换为 1。h1 { color: #666; display: inline-block; margin: 0; text-tr...
    编程 发布于2024-11-17
  • Bootstrap 4 Beta 中的列偏移发生了什么?
    Bootstrap 4 Beta 中的列偏移发生了什么?
    Bootstrap 4 Beta:列偏移的删除和恢复Bootstrap 4 在其 Beta 1 版本中引入了重大更改柱子偏移了。然而,随着 Beta 2 的后续发布,这些变化已经逆转。从 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
    编程 发布于2024-11-17
  • 为什么以及如何覆盖默认的 C++ `new` 和 `delete` 运算符?
    为什么以及如何覆盖默认的 C++ `new` 和 `delete` 运算符?
    覆盖默认 C 新建和删除运算符的好处用自定义实现替换默认新建和删除运算符的目的在于解决特定问题挑战或优化 C 程序中的资源管理。这种做法提供了几个潜在的优势:错误检测:自定义运算符可以检测不正确的内存分配和释放,降低内存泄漏和未定义行为的风险。他们可以跟踪分配的地址并在删除时将其删除,从而识别潜在的...
    编程 发布于2024-11-17

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3