反射及注解在JUnit里面的应用

本文对比了JUnit3.X与JUnit4的测试执行流程。JUnit3.X基于反射来执行以“test”开头的方法作为测试方法;而JUnit4则引入了注解,通过@Test注解标记测试方法,并利用反射机制进行执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JUnit3.X的执行的一般流程:(JUnit3.X是基于反射的测试框架)

 
a) 首先获得待测试类所对应的Class对象。

 

b) 然后通过该Class对象获得当前类中所有public方法所对应的Method数组。


c) 遍历该Method数组,取得每一个Method对象,调用method对象的getName方法,拿   到方法名(字符串类型),然后解析该字符串,如果是以“test”开头,说明这是一个测试方法。


d) 调用method.invoke()方法去执行该方法

 

JUnit4的执行的一般流程:(JUnit4是基于反射加注解的测试框架)

 

a) 首先获得待测试类所对应的Class对象。

b) 然后通过该Class对象获得当前类中所有public方法所对应的Method数组。


c) 遍历该Method数组,取得每一个Method对象


d) 调用每个Method对象的isAnnotationPresent(Test.class)方法,判断该方法是否被Test注解所修饰。


e) 如果该方法返回true,那么调用method.invoke()方法去执行该方法,否则不执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值