【问题标题】:How can i run only the unit tests not the integration tests on build phase with maven我如何只运行单元测试而不是使用 maven 在构建阶段运行集成测试
【发布时间】:2020-05-05 13:40:28
【问题描述】:

我将maven-failsafe-plugin 添加到我的项目中以进行运行集成测试。当我运行test 时,只有单元测试在运行,而当我运行integration-test 时,首先运行单元测试,然后运行集成测试。

到目前为止,这就是我想要的,但是当我清理和构建项目时,单元测试和集成测试都在运行,这是我不喜欢的,因为我只是不想为每个构建的集成测试准备环境。 我为一些生成的源清理并构建项目以重新生成,我不想同时运行集成测试。

有没有一种方法可以让我只故意运行集成测试而不是通过任何自动化?

【问题讨论】:

  • 通常您应该在构建中运行单元测试和集成测试。问题是运行集成测试需要准备什么。我建议将准备工作作为集成测试的一部分。此外,如果您只想故意运行它们,那么您应该使用配置文件来使它们可触发。像mvn clean verify -Prun-its 和使用“mvn clean verify”将不会运行集成测试。 ?

标签: java maven unit-testing integration-testing maven-failsafe-plugin


【解决方案1】:

我添加了 maven 的 -DskipITs 标志 clean install 命令,因此当我调用 clean and install 时集成测试不会运行。

我创建了 maven 目标为 integration-testverify 以通过我添加到我的 pom.xmlfailsafe plugin 运行和验证集成测试。

由于我使用netbeans 作为 ide,我通过项目属性的操作选项卡设置了预定义的 maven 命令,并且我可以通过右键单击来运行集成测试以运行 maven 菜单下的 peoject 和集成测试子菜单。

【讨论】:

  • failsafe 识别文件名末尾带有 ...IT 首字母缩略词的集成测试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-04
  • 1970-01-01
  • 1970-01-01
  • 2015-07-19
  • 2016-04-30
  • 2012-05-05
  • 2020-02-21
相关资源
最近更新 更多