簡體   English   中英

Maven(surefire)測試插件排除不起作用

[英]Maven (surefire) test plugin excludes not working

我在我的pom.xml中有以下配置

<build>
  <plugins>
      <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.17</version>
          <configuration>
              <excludes>
                  <exclude>**/DocumentChangeSubscriberTest.java</exclude>
              </excludes>
          </configuration>
      </plugin>
      (...)

DocumentChangeSubscriberTest是一個arquillian測試,我想只在指定的配置文件中運行。 當我鍵入mvn install ,運行所有測試,甚至是我想要排除的DocumentChangeSubscriberTest 如何從默認(匿名)配置文件中排除測試?

我嘗試了<includes><include>...它工作正常 - 只包含測試運行。

我看到maven surefire測試插件運行測試,即使它們被排除在外:但這對我不起作用。 我還嘗試了許多版本的maven-surefire-plugin而沒有結果。 有任何想法嗎?

雖然您已經找到答案,但有一個更簡單的解決方案。

無需使用<excludes>標簽。 堅持maven命名約定就足夠了。 只需用*IT后綴命名集成測試(例如: MyClassIT.java ),讓maven-failsafe-plugin完成它的工作。

請記住, maven-surefire-plugin旨在運行您的單元測試 這意味着具有以下通配符模式的所有測試類:

  1. Test*.java
  2. *Test.java
  3. *TestCase.java

另一方面, maven-failsafe-plugin旨在運行集成測試 ,並將自動包含具有以下通配符模式的所有測試類:

  1. IT*.java
  2. *IT.java
  3. *ITCase.java

would solve all your problems ouf of the box. 你的arquillian測試肯定是一個集成測試,所以將它重命名為將解決你所有的問題。

順便說一句。 這篇文章在集成測試的分離單元測試方面也很有用。

希望它對某人有幫助。

好的,排除測試工作。 這就像拼錯我的類名一樣簡單: DocumentChangeSubsriberTest.java而不是DocumentChangeSubscriberTest.java

抱歉。

雖然這個問題已經解決了,但是如果有人出現類似的排除問題,我會發布這個問題。 我有一個類似的問題 - 在我的排除中不適用於maven-failsafe-plugin。 我使用排除來排除運行一些集成測試。

我使用mvn verify來運行集成測試。

就我而言,

 <excludes>
   <exclude>**/something/*Test.java</exclude>
</excludes>

如果我使用-Dit.test選項,則不起作用
mvn verify -Dit.test="<some_package>"


但是如果我沒有指定-Dit.test,那么DOES是否正常工作。
mvn verify

我遇到了類似的問題,只是為了讓人們看到另一件事:我的maven-surefire-plugin,如上所述,是在<reporting><plugins><plugin>....</plugin></plugins></reporting>下意外聲明的。 <reporting><plugins><plugin>....</plugin></plugins></reporting>但當然需要在<build><plugins><plugin>...</plugin></plugins></build> 頂部的<reporting><build>規范在頁面上方和下方都較高,因此需要驗證是否有人收到同樣的錯誤。

這個問題已經回答了這個問題(或者至少是一個非常類似的問題): 如何在maven安裝目標中跳過測試,同時在maven測試目標中運行它們?

看一看,它可能會有所幫助! 簡單的答案是,如果不使用自定義配置文件,您嘗試執行此操作不是一種選擇(但在該線程中可以更好地解釋)。

暫無
暫無

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

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