Maven mvn验证和mvn测试之间有什么区别
我对mvn验证阶段有点困惑,我创建了一个spring启动项目(简单的项目,没有添加明确的配置)。我创建了一些JUnit单元测试,它们使用Maven mvn验证和mvn测试之间有什么区别,maven,maven-lifecycle,Maven,Maven Lifecycle,我对mvn验证阶段有点困惑,我创建了一个spring启动项目(简单的项目,没有添加明确的配置)。我创建了一些JUnit单元测试,它们使用mvn verify和mvn test命令运行 在mvn验证和mvn测试命令输出中没有观察到任何差异 有人能解释一下mvn-verify与mvn-test有什么不同吗。还有一些关于SO的帖子提到,mvn verify运行集成测试。如果是这样,那么我有几个问题 maven如何将特定测试识别为单元测试或集成测试 如果假设mvn verify只运行集成测试,那么为什
mvn verify
和mvn test
命令运行
在mvn验证
和mvn测试
命令输出中没有观察到任何差异
有人能解释一下mvn-verify
与mvn-test
有什么不同吗。还有一些关于SO的帖子提到,mvn verify
运行集成测试。如果是这样,那么我有几个问题
- maven如何将特定测试识别为单元测试或集成测试
- 如果假设
只运行集成测试,那么为什么要用它执行单元测试mvn verify
- 证实
- 编撰
- 试验
- 包装
- 核实
- 安装
- 部署
- 测试-使用合适的单元测试框架测试编译的源代码。这些测试不应要求打包或部署代码
- 验证-对集成测试结果进行任何检查,以确保符合质量标准
我的个人建议:如果有疑问,请使用verify.来确保质量标准-此标准在哪里配置?这取决于您的配置和您使用的插件。通常,使用故障保护插件为集成测试配置规则。仅集成测试将使用verify(仅使用mvn测试单元)执行,然后,您可以配置(例如)在一个测试失败时中断执行,或者您可以配置为即使有测试失败也不中断地完成所有构建。有很多maven插件,您可以将具体操作附加到任何阶段。“规则”标记在所有pom配置上。从执行命令,甚至从docker容器开始……这种配置在您的CI环境中非常重要。继续同一示例,如果在IT测试失败时构建中断,则合并请求将标记该执行失败。如果不是,人们会看到它“绿色”。我不是一个反对者,但我想人们会认为这是关于Maven生命周期的基本知识。@JFabianMeier我同意,但文档对我来说非常混乱,除了执行比
测试
更多的阶段之外,还无法区分验证
的不同之处。另外,检查集成测试的结果以确保质量标准
不是很清楚,检查什么?为什么只有集成测试?在哪里配置了质量标准?在这里您可以看到JAR的不同阶段中发生了什么:当然,可以将其他目标绑定到阶段。