【问题标题】:JUnit5: selecting a test based on its displayNameJUnit5:根据其 displayName 选择测试
【发布时间】:2025-11-22 20:30:01
【问题描述】:

在 CLI 中使用 maven 时,我们只能运行一个测试:

mvn test -Dtest="ExampleTestClass#exampleTestMethod

我想知道是否可以根据其displayName 执行单个测试,如下所示:

@Test
@DisplayName("hello")
public void exampleTestMethod() {

}

mvn test -Dtest="ExampleTestClass#hello"

??

默认情况下,这不会执行任何测试,但可能需要进行一些配置?

【问题讨论】:

  • 我的问题是:为什么要使用 DisplayName 进行选择?
  • 这取决于surefire的输出。如果它只显示失败测试的 DisplayName 的值,则很难(呃)弄清楚如何只运行该测试。但是,您很可能还是需要深入研究代码。

标签: maven junit5 maven-surefire-plugin


【解决方案1】:

不,这是不可能的(除非您自己实现它,因为它是开源的)。请记住,surefire 与测试框架无关:它们都理解类和方法。 -Dtest 被所有测试框架使用,而 displayName 注释是特定于 JUnit 的。

【讨论】: