JUnit 5测试执行按标记排序
是否可以根据JUnit 5测试执行按标记排序,junit,junit5,Junit,Junit5,是否可以根据@Tag更改测试执行顺序?我想在@Tag(“slow”)之前执行所有标有@Tag(“fast”)的测试 我对IntelliJ IDEA和Maven的解决方案感兴趣。两者都不关心标签的配置顺序 Maven的我的配置: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId>
@Tag
更改测试执行顺序?我想在@Tag(“slow”)
之前执行所有标有@Tag(“fast”)
的测试
我对IntelliJ IDEA和Maven的解决方案感兴趣。两者都不关心标签的配置顺序
Maven的我的配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>1.2.0</version>
</dependency>
</dependencies>
<configuration>
<properties>
<includeTags>fast,slow</includeTags>
</properties>
</configuration>
</plugin>
org.apache.maven.plugins
maven surefire插件
2.22.0
org.junit.platform
junit平台surefire提供程序
1.2.0
快,慢
我想我最好的办法是单独运行这些套件。JUnit Jupiter只对测试类进行一次传递,并执行标记处于活动状态的所有测试,因此它不会排序。对于一个按标记排序测试的工具,它必须运行JUnit几次,每个标记一次,但是没有一个工具可以直接运行JUnit
在IntelliJ(搜索“@Tag”)中,您可以生成几个这样的配置。在Maven中,您可以为Surefire和Failsafe提供不同的标签来执行,尽管这只会为您购买两次而不是一次执行。在Maven中,您应该能够为Surefire或Failsafe的每个标签配置一个配置文件,这将允许您根据需要对它们进行分组。因此,是否合并了配置的组?我没试过。。。它们实际上是JUnit平台的单独运行,但是生成的测试报告可以聚合。因此,在后一种意义上,是的,整体测试结果将被合并——例如,由CI服务器合并。澄清一下:每个标记的配置文件当然是可能的,但激活几个配置文件并不会导致所有标记都被激活(一个配置文件胜过其他配置文件[不,这不会在Twitter上侮辱他们])也不允许他们以任何特定的顺序运行。当然,可以使用不同的配置文件多次调用Maven。