Maven 运行mvn clean install时不要运行集成测试

Maven 运行mvn clean install时不要运行集成测试,maven,integration-testing,maven-failsafe-plugin,Maven,Integration Testing,Maven Failsafe Plugin,我希望发生以下情况: 当我运行mvn clean install时,我希望单独运行单元测试(无集成测试) 当我进行mvn集成测试时,我希望只运行集成测试(无单元测试) 当我进行mvn测试时unittest应该单独运行 我用Maven-Surefire插件和Maven-failsafe插件尝试了几件事,但没有成功 实现这一目标。我尝试过的是:添加Surefire和Failsafe插件,尝试用注释分离单元测试,以及在包级别分离单元和集成测试,并为单元和集成测试保留特定的命名约定 我能够实现的是在

我希望发生以下情况:

  • 当我运行
    mvn clean install
    时,我希望单独运行单元测试(无集成测试)
  • 当我进行
    mvn集成测试时
    ,我希望只运行集成测试(无单元测试)
  • 当我进行
    mvn测试时
    unittest应该单独运行
我用
Maven-Surefire
插件和
Maven-failsafe
插件尝试了几件事,但没有成功 实现这一目标。我尝试过的是:添加Surefire和Failsafe插件,尝试用注释分离单元测试,以及在包级别分离单元和集成测试,并为单元和集成测试保留特定的命名约定


我能够实现的是在
mvn clean install
上单独运行单元测试,但当我运行Maven集成测试时,我无法停止单元测试的运行。你知道我该怎么做吗?

你的问题是,你不了解有以下几个阶段(仅摘录):

这意味着您在不运行集成测试的情况下执行
mvn clean install
的要求在默认情况下是无法满足的(约定)

我建议您创建一个配置文件,将maven failsafe插件放入其中,以便您可以控制集成测试是否运行。这就产生了这样的结果:

mvn -Prun-its install
要运行集成测试,可以使用以下命令:

mvn verify
这将包括运行单元测试,但可以通过使用:

mvn -DskipTests=true verify

使用
mvn test
将只运行单元测试没有集成测试,因为它在生命周期的早期。

我同意你对maven生命周期的看法,但是当我配置sure fire插件(maven将使用我的而不是默认插件)来运行测试时,我已经配置了sure fire插件,并在,这些都没有得到尊重。基本上,我确实对何时运行测试或集成测试有问题。我想要的是,在进行mvn测试时,maven/surefire不应忽略我指定的配置。因此,如果您所做的配置不被认可,您应该显示您的pom文件?
mvn -DskipTests=true verify