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()方法去执行该方法,否则不执行。
本文对比了JUnit3.X与JUnit4的测试执行流程。JUnit3.X基于反射来执行以“test”开头的方法作为测试方法;而JUnit4则引入了注解,通过@Test注解标记测试方法,并利用反射机制进行执行。
2159

被折叠的 条评论
为什么被折叠?



