首页 > 解决方案 > 跨模块共享测试资源

问题描述

在我的项目中,我目前具有以下结构:

Project:
 |->module1
 |->module2
 |->module3
 \->src

项目代码(即src文件夹中的代码)取决于所有 3 个模块。两者都module2依赖module3module1module1基本上是一堆需要时使用的健全性检查代码)和module3依赖于module2.

module2' 和module3' 的测试以及项目中的src.

Mymodule2基本上是一个实用程序,它解析输入json文件并将它们转换为 UDF 类并module3获取这些对象并处理它们的处理。

我还没有在网上找到像我这样的结构的解决方案。

PS我也愿意接受有关我的整体项目结构的建议,如果这会简化事情的话。

标签: javamaventestingmoduledependencies

解决方案


引入一个名为 test-resources 的新模块,它将资源打包到一个普通的 JAR 中。

让所有“真实”模块都依赖它,确保使用test范围

<dependency>
    <groupId>com.company</groupId>
    <artifactId>foobar-test-resources</artifactId>
    <version>${project.version}</version>
    <scope>test</scope>
</dependency>

推荐阅读