【问题标题】:Is it mandatory to specify maven-failsafe-plugin to run integration tests?是否必须指定 maven-failsafe-plugin 来运行集成测试?
【发布时间】:2015-06-12 18:50:44
【问题描述】:

很抱歉关于maven-failsafe-plugin 的这个非常基本的问题,但我对 maven 不是很熟悉。

  1. 是否必须指定 maven-failsafe-plugin 才能运行集成测试?
  2. 为什么mvn verify 不能像mvn test 执行单元测试一样执行集成测试?
  3. 可以在没有此插件的情况下执行集成测试吗?

【问题讨论】:

    标签: maven maven-plugin maven-failsafe-plugin


    【解决方案1】:

    mvn test 执行单元测试,因为 Maven 有一个从 testsurefire:test 的默认绑定,这意味着,如果您执行阶段 test,Maven 将调用目标为test 的surefire 插件。但是,集成测试或验证阶段没有默认绑定,因此您必须通过指定故障安全插件自行提供。

    【讨论】:

      【解决方案2】:

      完全同意邓尼的回答。多加几分。

      1. 最好使用 maven-failsafe-plugin 运行集成测试。由于 Failsafe 插件旨在运行集成测试,而 Surefire 插件旨在运行单元测试。
      2. dunni 已经正确回答了这个问题。
        添加附加信息,要使用故障安全插件,您需要在项目 pom.xml 中添加以下配置:

        <build>
            <plugins>
                <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>${maven-failsafe-plugin-version}</version>
                    <executions>
                        <execution>
                            <id>integration-test</id>
                            <goals>
                                <goal>integration-test</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>verify</id>
                            <goals>
                                <goal>verify</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
        
        1. 虽然这不是一个好的做法,但您可以配置 maven-surefire-plugin 以在没有故障安全插件的情况下也运行集成测试。

      【讨论】:

        猜你喜欢
        • 2019-05-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-11
        • 1970-01-01
        • 2019-08-31
        • 2011-12-09
        • 2020-01-18
        相关资源
        最近更新 更多