Junit和注解

1.谈谈Junit5:Junit目前最新的是Junit5,是基于JDK8环境下完全新开发的单元测试工具。但是感觉现在还是使用Junit4的居多,体验过5的,最新的eclipse,JDK8环境,但是测试的时候总是会有警告出来,不过结果还是能出来的,只是前面会经常多几行警告。

2.Junit的使用:

	@Test
	public void testXXX() {
		
	}

在方法前面写一个注解@Test,同时导入一个包import org.junit.Test;接下来的方法的规则:(1)public,一定是共有的(2)void,必须是空参,单元测试不返回(3)非静态

然后懂类反射的同学都知道,反射需要空参构造创建实例,所以这个测试的类不能写带参构造,不然Junit就无法执行了

3.@BeforeClass,@AfterClass,@Before,@after(都无法独立执行,需要@Test)

(1)@BeforeClass: 看前面是一个before,就是在什么之后,看后面的是一个Class,也就是类,总的来讲,就是在这个类的任何一个@Test执行之前都会先执行,值得注意的是,因为他是属于类的,所以必须是static的

(2)@AfterClass: 这个和前面一个一样的道理,也就是在所有@Test的最后才会执行

(3)@Before: 就是在@Test之前执行的一个方法,但因为前面有个@BeforeClass,所以,如果写了@BeforeClass

,就会先指向@BeforeClass,再指向@Before。

(4)@After: 和前面一个一样,在@Test之后执行

看一个例子

	@Before
	public void test3() {
		System.out.println("-----------before-----------");
	}
	@After
	public void test4() {
		System.out.println("-----------after-----------");
	}
	
	@BeforeClass
	public static void test1() {
		System.out.println("*************BeforeClass*************");
	}
	@AfterClass
	public static void test2() {
		System.out.println("*************AfterClass*************");
	}
	
	@Test
	public void test01() {
		System.out.println("test01");
	}
	@Test
	public void test02() {
		System.out.println("test02");
	}
程序打印结果:
	/*
		*************BeforeClass*************
		-----------before-----------
		test01
		-----------after-----------
		-----------before-----------
		test02
		-----------after-----------
		*************AfterClass*************
	 */

其实很简单,看这个例子就基本知道规则了,程序员用的最多的还是单单一个@Test大笑

5.注解:Annotation

先认识一下元数据,元数据也就是数据的数据----也就是描述数据的数据。注解就是这样的

Java.lang包中有三个预定的注解:Override,Deprecated,SuppressWarnings..

SuppressWarnings的作用通常就是压警告,比如强转产生的警告。Deprecated就是比如一个方法,现在我的项目有了更可靠的方法来代替他,就可以使用这个注解来表明这个方法不建议使用,而且使用的时候会有一条删除线。Override,覆盖父类方法的时候用来检查的。

6.自定义注解。

使用方法:public @interface XXX{}。其实就是一个接口的基础上加一个@。

(1)Target:指定目标,到底是可以在类上边使用,还是方法上面使用,还是属性上面使用,还是都可以,比如能在方法上使用:

@Target({ElementType.METHOD})
public @interface MyJUnit {
	
}
(2)RetentionPolicy:设置保持性,保持性有三种:SOURCE--编译器要丢弃的注释,编译的时候忽略。

CLASS--默认,编译器将把注释记录在类文件中,但在运行时 VM 不需要保留注释。RUNTIME--编译器将把注释记录在类文件中,在运行时 VM 将保留注释,因此可以反射性地读取(这个很经常使用)

(3)Documented添加公共文档,(4)Inherited设置继承性

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值