gpt4 book ai didi

java - Maven 模块和 Spring 测试资源

转载 作者:行者123 更新时间:2023-12-01 18:44:05 25 4
gpt4 key购买 nike

我有一个由多个模块组成的 Maven 项目。某些模块依赖于其他模块,例如模块 C <- 模块 B <- 模块 A。模块 C 依赖于模块 B,而模块 B 又依赖于模块 A。

在每个模块中,我在 main/resources 和 test/resources 中有 Spring 配置文件,测试中的配置文件用于单元测试,而 main 下的配置文件用于发布/生产。每个配置文件都是自包含的 - 模块 B 仅包含其 Spring 配置(文件名类似于 foo-B.xml、foo-A.xml)

但是,当我需要测试模块C时,我需要在test/resources下引用模块B的Spring配置,但包含的是模块B的main/resources配置文件。这会带来一个问题,因为生产文件引用了 JNDI 数据源,而测试文件却没有。

如何让 Maven 或 Spring 从模块依赖项中引用测试配置文件?

最佳答案

Maven 将源类和资源与测试类和资源分开。您可以配置模块 B 以使用 maven-jar-plugin test-jar goal 创建测试 jar 。然后,您可以让模块 C 引用模块 B 的测试代码作为依赖项。

<dependency>
<groupId>com.myCompany</groupId>
<artifactId>moduleB</artifactId>
<version>${project.version}</version>
<classifier>tests</classifier>
<scope>test</scope>
</dependency>

或者,您可以创建一个常规 Maven 项目,仅包含您想要共享的测试代码,然后在需要时将其包含为测试依赖项。 maven jar plugin's usage docs 中描述了这个想法。 .

关于java - Maven 模块和 Spring 测试资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18620589/

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