不在默认 src/test/java 文件夹中运行 maven 测试
Posted
技术标签:
【中文标题】不在默认 src/test/java 文件夹中运行 maven 测试【英文标题】:Run maven test not in default src/test/java folder 【发布时间】:2012-11-06 19:28:51 【问题描述】:我有一个包含pom.xml
和一些JUnit
测试的项目。 pom.xml
和单元测试都是正确的。但问题是测试不在 src/test/java 文件夹中(我不能使用这个文件夹)。是否可以告诉 maven 从另一个源文件夹(也在这个项目中)执行测试?
【问题讨论】:
在另一个源文件夹 - src/int-test/java 我相信你有很多理由不能使用 src/test/java。所以我只想问“为什么?”因为到目前为止没有人回答你的问题。 (也许答案会提供更多洞察力。)我学到的关于 Maven 的第一件事就是你真的应该适应它的约定,因为如果你不这样做只会很痛苦。这就是“配置与约定”的整体理念。 这些测试真的是单元测试吗?根据文件夹的名称,我假设这些测试是集成测试。如果这是真的,则不应将 maven-surefire-plugin 用于此类目的。更好的是使用 maven-failsafe-plugin 进行此类集成测试。 【参考方案1】:将这部分添加到您的 pom 中就足够了:
<project>
...
<build>
<testSourceDirectory>src/int-test/java</testSourceDirectory>
</build>
...
</project>
测试源将在test-compile
阶段编译,maven-surefire-plugin
也会找到测试类。
【讨论】:
在 maven 3.6.2 下这会导致以下错误:[ERROR] Some problems were encountered while processing the POMs: Malformed POM ....../pom.xml: Unrecognised tag: 'testSourceDirectory' (position: START_TAG seen ...<build><testSourceDirectory>
.以上是关于不在默认 src/test/java 文件夹中运行 maven 测试的主要内容,如果未能解决你的问题,请参考以下文章
maven web不能创建src/main/java等文件等问题
maven web工程缺少 src/main/java 和 src/test/java 资源文件夹的方法
在没有 Maven 的 Eclipse 中创建 src/main/java 文件夹结构
Maven修改test/rsource的output folder报错Test source folder 'src/test/java'... is not also used fo