如何在 Maven 中为 Java 项目组织单元、集成、e2e 测试文件夹结构?

Posted

技术标签:

【中文标题】如何在 Maven 中为 Java 项目组织单元、集成、e2e 测试文件夹结构?【英文标题】:How to organise unit, integration, e2e tests folder structure in maven for a Java project? 【发布时间】:2015-08-22 20:14:14 【问题描述】:

我在 maven 中有一个 java 项目,我知道 maven 通常使用

src/main/java src/test/java

所有被测试的东西/通常都是单元测试。但是如果我想引入集成测试和 E2E 测试呢?我应该如何放入正确的文件夹结构?组织这些的正确方法是什么?

是这样吗:

src/it/java src/e2e/java src/test/java

?

但是这样做会假设 src/test/java 指的是单元测试。我宁愿有一个明确的规定

【问题讨论】:

【参考方案1】:

我建议使用 maven 定义的目录结构 - src/test/java。您可以更改 maven 定义的目录结构,但不建议这样做。理想情况下,此结构适用于单元测试,但您仍然可以将集成和 e2e 单元测试添加到该文件夹​​结构中,只需稍作修改。

参考-How to run UnitTests in maven which is in src/test-integration/java folder

【讨论】:

Maven 标准目录布局(现在)列出了用于集成测试的标准文件夹 (/src/it)。我想拥有一个类似的/src/e2e 文件夹是可以接受的。您仍然需要设置 pom.xml 才能查看新文件夹,但这样您就不必为每种测试创建(和维护)测试套件。您可以简单地将相关文件夹包含在 ad hoc 配置文件中,并让单元测试在每次安装时自动运行。

以上是关于如何在 Maven 中为 Java 项目组织单元、集成、e2e 测试文件夹结构?的主要内容,如果未能解决你的问题,请参考以下文章

如何在intellij中为maven命令行项目添加程序参数?

maven编译时如何忽略单元测试

如何在 Maven 中为依赖项指定存储库

Selenium 自动化组织项目

如何在 intellij 中为播放框架应用程序运行单元测试

Java-Maven-Runoob:Maven POM