【问题标题】:Does JUnit Jupiter's extension auto detection prevent finding tests?JUnit Jupiter 的扩展自动检测是否会阻止查找测试?
【发布时间】:2019-03-12 15:13:33
【问题描述】:

当我们发现这个错误时,我们最近更新到maven-surefire-plugin v2.22.1 和junit v5.4.0: [ERROR] 无法在项目 xxx 上执行目标 org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test):没有执行任何测试! (设置 -DfailIfNoTests=false 以忽略此错误。)-> [帮助 1]

经过多次检查,我们发现我们必须:

  1. 从我们的配置中删除这一行: junit.jupiter.extensions.autodetection.enabled = true

  2. 并且还包括这个以继续使用并行执行: junit.jupiter.execution.parallel.mode.default = concurrent

对于第二点,用户指南中已阐明,但我们不知道第一点...有人可以解释可能是什么原因吗?这可能是一个错误吗?

谢谢!

【问题讨论】:

  • 最新 3.x 版本的 Surefire 并保持启用自动检测会发生什么情况?
  • 嗨@Sormuras,你是对的!使用 3.0.0-M3 并且还包括“junit.jupiter.execution.parallel.mode.default = concurrent”,我不需要删除自动检测。谢谢!
  • 很好!将我的问题改写为答案。随意接受它。

标签: maven-surefire-plugin junit5


【解决方案1】:

使用 Maven Surefire 3.x

Maven Surefire 版本3.x 为 JUnit 平台提供了更好的支持。请将 Surefire 升级到 3.0.0-M3 或更高版本。

JUnit Jupiter 并行测试执行

要启用并行测试执行,您需要执行两个配置步骤:

  1. junit.jupiter.execution.parallel.enabled 设置为true
  2. junit.jupiter.execution.parallel.mode.default 设置为concurrent 以激活所有测试容器(包括类、测试模板和动态容器)的并发执行模式使用@987654329将参与并行测试执行的所有测试类上的 @ 注释。

更多详情请见https://junit.org/junit5/docs/current/user-guide/#writing-tests-parallel-execution

【讨论】:

  • 坏消息...我最近发现更新到 3.x 不是解决方法...我不小心将值设置为“true”而不是“true”,这与“false”相同“因此它起作用了。但是当我修复这个问题时,原来的错误又回来了(没有执行任何测试!)所以它看起来确实是个问题。
  • 嗯,运气不好。请在issues.apache.org/jira/browse/SUREFIRE 提出问题——在此先感谢
猜你喜欢
  • 2019-06-08
  • 2018-12-07
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
  • 2020-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多