有没有一种方法可以只运行每个给定标签的测试?例如,我们可以仅使用tag1
AND运行测试tag2
吗?
我们将Maven 3.6.2与Surefire的2.22.2版本和JUnit 5.5.2一起使用,以针对许多应用程序API端点运行测试。每个测试至少具有3个标签,用于指定测试类型,应用程序和方法类型。有些有更多。
当前,我们正在从命令行运行测试,以使测试人员可以控制每次运行:
mvn test -Dgroups=app1,fast
我们遇到的问题是,上面的代码将运行带有app1
OR标签的所有测试fast
。结果是运行了许多测试。测试人员的目标是仅对“ app1”运行“快速”测试。
尽管可以使用excludedGroups
,但直到运行后这对测试仪都没有帮助。此外,我们每天都会添加测试和标签,因此今天可用的东西明天可能不可用。
我们的目标之一是在命令行上启用标签的规范,而不需要测试人员编辑POM来运行不同的测试组合。我们想从命令行指定测试集,而不必在两次运行之间接触POM。由于测试组合的清单越来越多,我们的POM变得太大而无法有效管理。
Singfire是否可以将ANDing JUnit5标签一起使用?
在Maven Surefire / Maven Failsafe中,您可以按照前面提到的方式定义组,但是可以为JUnit Jupiter(又名JUnit 5)定义组,如下所示:
mvn test -Dgroups="app1&fast"
要么
mvn test -Dgroups="app1|fast"
有关更多详细信息,请查看文档。
顺便说一句:我建议升级到最新版本的maven-surefire-plugin或maven-failsafe-plugin。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句