2009-11-25 59 views
2

我被要求配置Maven的surefire報告生成器,以包含測試套件的一個條目,該條目依次測試A,B和C類,但不是看到這個: 一個 乙 ç MySuite 我看到這個 一個 乙 ç 一個 乙 çMaven Surefire報告顯示多個類別條目而不是套件

所以沒什麼兩個問題: 1)如何停止運行兩次測試。 2)我怎樣才能讓報告爲每個班級或套件顯示一個條目。

您可能會問爲什麼這麼重要,答案是建築師希望看到一個測試,其中包含整個「組件」並在報告中顯示一個條目,我不希望測試運行兩次, (甚至更多)次。

感謝和問候,

CM

回答

0

你指定你的測試套件在萬無一失的配置像這樣的東西:

<includes> 
    <include>**/AppTestSuite.java</include> 
</includes> 

什麼是報告看起來像這樣的配置?

+0

嗨,是的,我有,但就像我說過,它只是顯示套件運行的類的結果(再次),而不是爲套件本身添加條目。看起來像surefire報告只是收集來自surefire文件的結果並列出它們,而不是關心它們來自哪裏。 – 2009-11-25 16:21:52

2

要回答你的第一個問題,請注意有一個Surefire構建和報告插件。因此,當嵌套在兩者中時,它們將自然運行兩次,即buildreporting元素。你可以在你的報告要素使用report-only目標避免這種情況:

<project> 
    ... 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.4.3</version> 
     <configuration> 
      <includes> 
      <include>test/my/Suite.java</include> 
      </includes> 
      <excludes> 
      <exclude>test/my/NoTestClass.java</exclude> 
      </excludes> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 

    <reporting> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-report-plugin</artifactId> 
     <version>2.4.3</version> 
     <reportSets> 
      <reportSet> 
      <reports> 
       <report>report-only</report> 
      </reports> 
      </reportSet> 
     </reportSets> 
     </plugin> 
    </plugins> 
    </reporting> 
    ... 
</project> 

關於你的第二個問題,它可能會回落到您使用測試框架和測試案例是如何設計的。需要更多細節來回答這部分問題。

相關問題