【发布时间】:2019-10-25 14:30:16
【问题描述】:
有没有办法只运行每个给定标签的测试?例如,我们可以只运行tag1 AND tag2 的测试吗?
我们使用 Maven 3.6.2 和 Surefire 2.22.2 版本和 JUnit 5.5.2 来针对许多应用程序 API 端点运行测试。每个测试至少有 3 个标签指定测试类型、应用程序和方法类型。有些有更多。
我们目前正在从命令行运行我们的测试,以便让测试人员控制每次运行:
mvn test -Dgroups=app1,fast
我们遇到的问题是上面将运行所有标记为app1 或fast 的测试。结果是运行了几十个测试。测试人员的目标是只为“app1”运行“快速”测试。
虽然可以使用excludedGroups,但在运行之前这对测试人员没有帮助。此外,我们每天都在添加测试和标签,所以今天有效的可能明天就无效了。
我们的目标之一是在命令行上启用标签规范,并且不需要测试人员编辑 POM 来运行不同的测试组合。我们想从命令行指定我们的测试集,而不必在运行之间接触 POM。由于测试组合列表的不断增长,我们的 POM 将变得太大而无法有效管理。
Surefire 是否可以将 JUnit5 标记与 ANDing 一起使用?
【问题讨论】:
标签: java maven junit5 maven-surefire-plugin