Maven-Surefire插件有什么用?

pra*_*jit 30 maven maven-surefire-plugin

Maven Surefire插件有什么用?我找不到合适的例子.

Ame*_*iye 17

最好从https://maven.apache.org/surefire/maven-surefire-plugin/开始

简而言之,链接说:

Surefire插件在构建生命周期的测试阶段使用,以执行应用程序的单元测试.它以两种不同的文件格式生成报告纯文本文件(.txt)XML文件( .xml)

  • 令我惊讶的是(也与其他Maven插件一起使用),说明它们实际执行的操作(尤其适用于Maven初学者)在页面中间的某个地方隐藏了。 (17认同)
  • 即使这里引用的那句话也没有说明什么。例如它生成什么报告,这个插件的实际价值主张是什么 (9认同)
  • 是的,他们与stackoverflow建立了商业联系,以真正知道它的使用;)..只是在开玩笑。 (5认同)

Pra*_*ani 7

在这里,您可以找到对surefire 是什么以及它在maven 生命周期中扮演什么角色的最佳描述。

它在适当的阶段被 maven 生命周期隐式调用,因此它是一个 '特殊”插件。我们不需要在 pom.xml 中定义它,它会在 maven 需要时下载并执行。

它内部只有一个目标,毫无疑问它是“测试”,由 apache 人员定义,

test:允许我们运行应用程序的单元测试

不过,我们可以在 pom.xml 中表示它来运行 src/test/java 文件夹的单元测试。

<build>
    <plugins>
        <plugin>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.4</version>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.19</version>
        </plugin>
    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)


小智 6

maven-surefire-plugin 每当执行测试目标时默认使用[例如“mvn test”/“mvn install”]。您可以在 pom.xml 中配置此插件以提供一些配置信息,例如测试工件的位置 [testng.xml] 或包含条件的选项(定义组、排除组、线程数、并行性并直接使用插件配置中的跳过) pom.xml。因此您可以选择将该信息放在哪里(在 pom.xml 中或在套件 testng.xml 中)

早些时候,当 Junit 并行执行滞后时,这很有帮助


小智 5

Maven确保Fire插件用于遵循testng.xml文件中的测试顺序。如果我们不包括Mavwen surefire插件,那么它将在src / test / java下执行所有带有“ test”前缀或后缀的测试用例,并且这些测试将无顺序执行。