前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Junit5系列-Junit5中@Disabled禁止执行

Junit5系列-Junit5中@Disabled禁止执行

作者头像
洋仔聊编程
发布2019-01-15 16:46:15
2.4K0
发布2019-01-15 16:46:15
举报
文章被收录于专栏:Java开发必知必会

目录
  • 简介
  • 案例分析
  • 源码分析
  • 其他

简介

可以通过@Disabled注释,禁用整个测试类或单个测试方法。

这个@Disabled注解代替了Junit4中的@Ignore注解,功能相同。

案例分析

其中每个方法的作用代码中的注释写的已经非常清楚了,就不再赘述了.

大家最好将代码自己测试一遍,可以加深理解与记忆! 案例代码:

代码语言:javascript
复制
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;

@Disabled
class DisabledClassDemo {
    //因为在类上注释了@Disabled,所以类中的所有方法都被禁止执行
    @Test
    void testDisable(){
        assertTrue(true);
    }
    @Test
    void testDisable2(){
        assertTrue(true);
    }
}

class DisabledTestsDemo {
   //此方法被禁止执行,并在控制台打印默认消息“void junit5_test.DisabledTestsDemo.testWillBeSkipped1() is @Disabled”字样!
    @Disabled
    @Test
    void testWillBeSkipped1() {
    }
    //此方法被禁止执行,并在控制台打印自定义消息“testWillBeSkipped ware disabled!”字样!
    @Disabled(value = "testWillBeSkipped ware disabled!")
    @Test
    void testWillBeSkipped2() {
    }
    //此方法正常执行
    @Test
    void testWillBeExecuted() {
    }
}

源码分析

1.@Disabled注解源码:

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

从源码中可以发现:

  • 元注解@Target中说明该注解可以作用在类、Enum、方法上面
  • 元注解@Retention说明在源文件、class文件、运行时都存在该注解
  • 元注解@Documented说明此注解将包含在javadoc说明中
  • @API 说明了该注解的现状,该注解是稳定的且从5.0添加的
  • 参数:String value(); 赋值我们当方法被禁止直行时自定义的打印消息,有默认值所以不是必须要赋值。

其他

在这里对比一下Junit4的@Ignore和Junit5的@Disabled两个注解吧: @Ignore的源码

代码语言:javascript
复制
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
public @interface Ignore {
    String value() default "";
}

从源码层面来看,并没有任何本质的区别,Junit5用@Disabled代替Junit4中@Ignore只是为了更加符合该注解作用的”不能执行此测试方法“的语义。

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

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

refer: 官网

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年01月09日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 简介
  • 案例分析
  • 源码分析
  • 其他
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档