2012-03-02 92 views
8

在升級項目的所有Maven插件版本後,我遇到以下問題:當我運行基本命令mvn test -Dtest=SomeTest時,構建完成,未完成任何測試。事實上,我無法使用-Dtest參數運行任何測試(當然,測試存在,並且僅在執行mvn test時運行)。Maven surefire 2.12未使用-Dtest參數運行特定測試

經過一番搜索,看起來問題是由於使用了surefire 2.12插件。我測試過幾個版本的Maven(2.2.1/3.0.2)和JUnit(4.7.x,4.8,4.10甚至3.8.x),但它們對我的問題沒有影響。

所以也許我的項目有一些具體的配置,可能會對此產生影響?無論如何,我創建了一個新項目,使用mvn archetype:generate(使用基本的org.apache.maven.archetypes:maven-archetype-quickstart)。

我修改只有2件事在pom.xml:使用JUnit 4.10(但它並沒有改變什麼,我試着與他人的版本),並確定萬無一失的版本:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>foo</groupId> 
    <artifactId>bar</artifactId> 
    <version>1.0-SNAPSHOT</version> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.10</version> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.11</version> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

我跑mvn test -Dtest=AppTest(由原型創建的默認JUnit測試):

------------------------------------------------------- T E S T S 
------------------------------------------------------- Running foo.AppTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time 
elapsed: 0.031 sec 

Results : 

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 

[INFO] 
------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] 

現在,我修改pom.xml使用版本2.12的神火,然後再次運行命令:

------------------------------------------------------- T E S T S 

Results : 

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 

[INFO] 
------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] 
------------------------------------------------------------------------ [INFO] Total time: 0.907s [INFO] Finished at: Fri Mar 02 10:37:12 CET 
2012 [INFO] Final Memory: 3M/15M [INFO] 
------------------------------------------------------------------------ [ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-surefire-plugin:2.12:test 
(default-test) on project bar: No tests were executed! (Set -D 
failIfNoTests=false to ignore this error.) -> [Help 1] 

測試不運行這個時間:(

就我個人而言,我認爲這是一個迴歸,但是這是相當令人吃驚。事實上,Surefire 2.12版本中記錄了JIRA defect,在本說明中,他們成功使用了-Dtest參數。

我做錯了什麼?還是真正的迴歸(在這種情況下,我將創建JIRA)?

謝謝。

回答

13

這是2.12版本中的一個錯誤 - SUREFIRE-827

+0

問題的新鏈接:https://issues.apache.org/jira/browse/SUREFIRE-827 – 2017-06-22 11:53:41

相關問題