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