【问题标题】:Using JUnit Categories runner with matchAny with Maven Surefire from command line从命令行将 JUnit 类别运行器与 matchAny 和 Maven Surefire 一起使用
【发布时间】:2016-09-17 01:51:35
【问题描述】:

我有 2 个过滤器用于我想要交叉的 JUnit 测试:优先级(例如高、中、低)和功能(例如帐户、商店、结帐)。
JUnit Categories 运行器似乎非常适合这个,因为它支持matchAny 标志,它可以执行我需要的交叉过滤器(例如,返回标记为“高”优先级和“结帐”功能的测试,执行 AND 而不是或)。

我正在使用 Maven Surefire 执行测试,它通过其对应的 groups 参数支持 JUnit 类别。这有效:

mvn test -Dgroups="priority.High, feature.Checkout"

不幸的是,它应用了默认的 matchAny 值,即 true,导致 OR 组合,而不是 AND。

问题:如何通过 Surefire 命令行传递 matchAny=false

【问题讨论】:

  • 恐怕这是不可能的,surefire插件不支持也不可行通过相反的方法(使用excludedGroups和fo cli ease结合配置文件和属性)。

标签: java maven command-line junit maven-surefire-plugin


【解决方案1】:

您无需传递matchAny=false。只需执行以下操作:

mvn test -Dgroups="priority.High && feature.Checkout"

这应该运行那些只指定了两个类别的测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-30
    • 2020-10-14
    • 2020-07-25
    • 2014-04-27
    • 2020-12-31
    • 2018-09-02
    • 2018-05-26
    相关资源
    最近更新 更多