首页
学习
活动
专区
圈层
工具
发布

Junit5系列-Junit5中@DisplayName自定义名称

目录

简介

测试类和测试方法可以声明自定义显示名称 ,可以包含空格,特殊字符,甚至是表情符号 ,自定义名称将由测试运行者和测试报告显示。 上述功能的实现使用的就是junit5中的@DisplayName注解

demo分析

测试代码:

代码语言:javascript
复制
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;

/**
 * @author liyangyang
 * @date 2019/1/8
 */
@DisplayName("A special test case")
class DisplayNameDemo {

    @Test
    @DisplayName("Custom test name containing spaces")
    void testWithDisplayNameContainingSpaces() {
    }

    @Test
    @DisplayName("╯°□°)╯")
    void testWithDisplayNameContainingSpecialCharacters() {
    }

    @Test
    @DisplayName("?")
    void testWithDisplayNameContainingEmoji() {
    }

    @Test
    @DisplayName("╯°□°)╯")
    void testRepeatName(){
    }
}

效果展示: 当我们运行上述代码后,在idea左下角 中会按照我们的自定义名称显示,可以看到自定义名称是可以重复的:

源码分析

下面为DisplayName注解的源码:

代码语言:javascript
复制
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@API(
    status = Status.STABLE,
    since = "5.0"
)
public @interface DisplayName {
    String value();
}

可以发现:

  • 元注解@Target中说明该注解可以作用在类、Enum、方法上面
  • 元注解@Retention说明在源文件、class文件、运行时都存在该注解
  • 元注解@Documented说明此注解将包含在javadoc说明中
  • @API 说明了该注解的现状,该注解是稳定的且从5.0添加的
  • 参数:String value(); 赋值我们的自定义名称,没有默认值所以必须要赋值,否则编译器会报错。

如果转载此博文,请附上本文链接:https://blog.csdn.net/csdn___lyy,谢谢合作~

如果感觉这篇文章对您有所帮助,请点击一下“喜欢”或者“关注”博主,您的喜欢和关注将是我前进的最大动力!

refer: 官网

下一篇
举报
领券