我被要求配置Maven的surefire报告生成器,为测试套件包含一个条目,然后测试A,B和C类,但不是看到这个: 一个 乙 C MySuite 我明白了 一个 乙 C 一个 乙 ç
所以真的有两个问题: 1)如何停止运行两次的测试。 2)如何让报告向我显示每个班级或套房的一个条目。
您可能会问为什么这么重要,答案是建筑师希望看到一个包含整个“组件”的测试,并在报告中显示一个条目,我不希望测试运行两次,(甚至更多次。
谢谢和问候,
CM
答案 0 :(得分:2)
要回答您的第一个问题,请注意有一个Surefire构建和报告插件。因此,当嵌套在build
和reporting
元素中时,它自然会运行两次。您可以在报告元素中使用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>
此配置的报告是什么样的?