特定测试套件的 Maven 运行命令

Posted

技术标签:

【中文标题】特定测试套件的 Maven 运行命令【英文标题】:Maven run command for specific test suite 【发布时间】:2019-02-28 19:02:46 【问题描述】:

我正在尝试构建 maven 命令来运行特定的测试:

我希望能够执行此操作:

mvn test
mvn integration
mvn specificdata

所以每个测试都会进入一个文件夹并运行套件

src/测试 src/集成 src/具体数据

mvn test 适用于测试文件夹,但当我运行时

mvn specificdata我明白了

[ERROR] Unknown life-cycle phase "specificdata".

集成相同

如何让 mvn 独立运行这些测试?

【问题讨论】:

【参考方案1】:

这不能按照你描述的方式完成。

test 是一个阶段,因此是标准生命周期的一部分。调用mvn test 不仅会运行测试,还会执行test 之前的阶段。

标准生命周期还提供集成测试阶段,尤其是。 integration-test。集成测试通常也放入src/test,并通过命名约定进行区分。但请注意:调用mvn integration-test 也会调用所有之前的阶段(包括testcompile等)。

https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

【讨论】:

那我该怎么做呢?我可以使用其他工具吗? @yenk 为什么你有这些特殊要求?为什么不直接使用构建运行测试?你想要一些不寻常的东西,你可能有它的理由。 因为我有敏感数据和代码要根据许可进行测试 surefire 插件(用于 Maven 测试)有一个命令行参数 surefire.includesFile,它允许您定义一个包含要运行的测试列表的文件。见maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html

以上是关于特定测试套件的 Maven 运行命令的主要内容,如果未能解决你的问题,请参考以下文章

运行测试套件无法通过 maven 在 junit5 中运行

如何通过命令提示符和使用 Maven 的 jenkins 运行单个黄瓜功能文件?

仅运行 Maven 中定义的一个特定测试插件的命令

在 Play 1.2.4 中运行测试套件

从命令行运行具有特定路径的maven到某个插件

使用 Maven,我如何运行特定的测试?