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

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()方法去执行该方法,否则不执行。

posted @ 2011-08-06 11:23  focus~wow  阅读(106)  评论(0编辑  收藏  举报