Maven Surefire报告显示多个类条目而不是套件

时间:2009-11-25 10:10:47

标签: maven-2 junit junit4 surefire

我被要求配置Maven的surefire报告生成器,为测试套件包含一个条目,然后测试A,B和C类,但不是看到这个: 一个 乙 C MySuite 我明白了 一个 乙 C 一个 乙 ç

所以真的有两个问题: 1)如何停止运行两次的测试。 2)如何让报告向我显示每个班级或套房的一个条目。

您可能会问为什么这么重要,答案是建筑师希望看到一个包含整个“组件”的测试,并在报告中显示一个条目,我不希望测试运行两次,(甚至更多次。

谢谢和问候,

CM

2 个答案:

答案 0 :(得分: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>

关于您的第二个问题,它可能归结为您使用的测试框架以及您的测试用例的设计方式。需要更多细节来回答这部分问题。

答案 1 :(得分:0)

您是否在surefire配置中使用以下内容指定了测试套件:

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

此配置的报告是什么样的?