用法
最佳实践是定义您想要在您的pom.xml
或父母中使用的 Surefire 插件的版本pom.xml
:
<project> [...] <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0-M5</version> </plugin> </plugins> </pluginManagement> </build> [...] </project>
可以通过调用test
构建生命周期的阶段来调用 Surefire 插件。
mvn test
使用不同的测试提供者
测试源目录中的测试可以是以下任意组合:
- 测试NG
- JUnit(3.8、4.x 或 5.x)
- POJO
哪些提供程序可用仅通过包含适当的依赖项来控制(即,对于 JUnit4,对于 JUnit5 junit:junit
,junit:junit-dep
对于 JUnit5,对于junit-jupiter-engine或junit-vintage-engine ,对于 TestNG是 4.7+ org.testng:testng
)。由于无论如何编译测试类都需要这样做,因此不需要额外的配置。
请注意,无论使用哪个提供程序,任何正常的 Surefire 集成都可以正常工作 - 例如,您仍然可以在项目网站上为您的 TestNG 测试生成 Cobertura 报告和 Surefire 结果报告。
上面的 POJO 提供程序允许您编写不依赖于 JUnit 和 TestNG 的测试。它的行为方式相同,运行test*
类中公共的所有方法,但不需要 API 依赖项。要执行断言,assert
可以使用 JDK 1.4 关键字。有关更多信息,请参阅使用 POJO 测试。
所有提供程序都支持 Surefire 插件参数配置。但是,如果您正在运行 TestNG 测试(包括如果您使用 TestNG 来执行 JUnit 测试,如果两者都存在于 Surefire 中,则默认情况下会发生这种情况)。
有关更多信息,请参阅使用 TestNG。