簡體   English   中英

如何通過maven分別運行集成測試和單元測試?

[英]How to make integration tests and unit tests run separately through maven?

請參閱以下鏈接 - GitHub討論如何分離集成測試和單元測試

結果,我嘗試了這個 -

     <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <includes>
            <include>**/*Tests.java</include>
            <include>**/*Test.java</include>
          </includes>
          <excludes>
            <exclude>**/Abstract*.java</exclude>
            <exclude>**/IT*.java</exclude>
            <exclude>**/*IT.java</exclude>
            <exclude>**/*ITCase.java</exclude>
            <exclude>**/*IntegrationTest.java</exclude>
          </excludes>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
            <configuration>
              <includes>
                <include>**/IT*.java</include>
                <include>**/*IT.java</include>
                <include>**/*ITCase.java</include>
                <include>**/*IntegrationTest.java</include>
              </includes>
            </configuration>
          </execution>
        </executions>
      </plugin>

這在某種程度上有效。 意思是,surefire不執行集成測試,而Failsafe不執行單元測試。

但是,當我運行, mvn verifymvn integration-test ,也會使用sure-fire插件。


必需結果:運行mvn integration-test ,不應運行單元測試。


以下三張圖片用於mvn verify

整合測試:

集成測試

測試運行

單元測試:

單元測試

下圖是我運行mvn test

單元測試

Maven的構建生命周期由幾個階段組成。 當您調用特定的某個階段時,將首先執行該階段之前的所有階段。 請參閱https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

有兩種方法可以解決你想要的問題:

maven-failsafe-plugin定義的目標verifyintegration-test運行與surefire的集成測試用例。 這里的事情按預期工作,並按照指南提供。 請參閱此鏈接以獲取更多詳細信息:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM