gpt4 book ai didi

java - 如何在maven中运行单一集成测试?

转载 作者:行者123 更新时间:2023-11-30 06:01:40 25 4
gpt4 key购买 nike

我正在尝试运行单一集成测试。我有很多 *IT 类(class),但我只想运行一项测试。我试试这个:

mvn -Dit.test=XControllerIT verify

我做错了吗?还有其他替代方案吗?正在使用Maven。

最佳答案

根据您的项目设置,有两个主要选项:

  • 集成测试使用专用的故障安全插件运行
  • 集成测试使用常规的 Surefire 插件运行

如果您有故障安全插件(您实际上应该这样做,这是推荐的方法),则使用以下代码片段:

mvn -Dit.test=MySampleIntegrationTest failsafe:integration-test

如果你万无一失,那么运行:

mvn -Dtest=MySampleUnitTest surefire:test

在这两种情况下,都会有一个直接的插件目标执行,绕过生命周期,就像您最初的示例一样(使用 mvn verify)

在maven中可以运行生命周期,参见Default Lifecycle Documentation了解更多信息

基本上,生命周期由多个阶段组成,每个阶段都绑定(bind)有插件因此,当您运行mvn verify时,验证之前的所有阶段也将运行。

因此,代码将被编译(编译阶段会自动附加一个 Maven 编译插件来完成这项工作),测试将运行(surefire 插件),等等。

如果您没有编译好的源代码和测试代码,则无法使用本文提供的方法,因为您必须先编译代码。

但是,如果您已经编译了所有内容,则仅运行一个测试而不重新编译代码是有意义的,在这种情况下,根据插件,您可以使用建议的解决方案。

特别是它对于本地调试或在某些情况下对于 CI 的多步build设置有意义(可以在相当复杂的项目中看到)

关于java - 如何在maven中运行单一集成测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52159563/

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