用法

最佳做法是在pom.xml或父pom.xml中定义要使用的 Surefire 插件版本

<project>
  [...]
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.12.4</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
  [...]
</project>

可以通过调用构建生命周期的测试阶段来调用 Surefire 插件。

mvn test

使用不同的测试提供者

测试源目录中的测试可以是以下任意组合:

  • 测试NG
  • JUnit(3.8 或 4.x)
  • POJO

哪些提供程序可用仅通过包含适当的依赖项来控制(即,junit:junit 用于 JUnit,org.testng:testng 4.7+ 用于 TestNG)。由于无论如何编译测试类都需要这样做,因此不需要额外的配置。

请注意,无论使用哪个提供程序,任何正常的 Surefire 集成都可以正常工作 - 例如,您仍然可以在项目网站上为您的 TestNG 测试生成 Cobertura 报告和 Surefire 结果报告。

上面的 POJO 提供程序允许您编写不依赖于 JUnit 的测试。它们的行为方式相同,运行类中公开的所有test*方法,但不需要 API 依赖项。要执行断言,可以使用JDK 1.4 assert关键字。有关更多信息,请参阅使用 POJO 测试

所有提供程序都支持 Surefire 插件参数配置。但是,如果您正在运行 TestNG 测试(包括是否使用 TestNG 执行 JUnit 测试,如果两者都存在于 Surefire 中,则默认情况下会出现这种情况),还有其他可用选项。

有关更多信息,请参阅使用 TestNG