You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JUnit 5 @RepeatedTest中{displayName}占位符无法解析的问题

JUnit 5 @RepeatedTest中{displayName}占位符无法解析的原因

核心原因

{displayName}这个占位符是JUnit 5.4版本才新增的特性,如果你当前使用的JUnit Jupiter(JUnit 5的核心模块)版本低于5.4,这个占位符不会被框架识别,会直接以原字符串形式显示,而不会替换成@DisplayName注解里的内容。

验证方式

检查项目依赖中JUnit Jupiter相关组件的版本:

  • Maven项目查看pom.xml里的junit-jupiter-api、junit-jupiter-engine版本
  • Gradle项目查看build.gradle里的testImplementation 'org.junit.jupiter:junit-jupiter-api:x.x.x'版本

如果版本号是5.3或更低,就会出现这个问题。

解决办法

  1. 升级JUnit Jupiter版本
    把依赖版本升级到5.4及以上(推荐使用最新稳定版,比如5.9.2),升级后你的原有代码就能正常解析{displayName}占位符了。

  2. 无法升级时的替代方案
    如果因为项目限制不能升级版本,直接在@RepeatedTest的name属性里写死显示名称即可:

    @RepeatedTest(value=4, name= "RepeatedTest running: {currentRepetition}/{totalRepetitions}")
    @DisplayName("RepeatedTest")
    void repeatedTest() {
            // 测试逻辑
    }
    

内容的提问来源于stack exchange,提问作者divad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 22:15:52