junit是非常优秀的单元测试框架,其中最经典的要素junit3.8和junit4.x了。其中junit3.8是基于反射来实现的,具体步骤是:
1. 获取Class的类型cls -> 2. 获取Class类中的method方法(cls.getMethods())->3. 迭代cls中的Method数组,根据method名字.startsWith方法来判断是否以test开头,如果已test开头,就执行method.invoke()
关于junit4.x,同样也是使用反射,但是用到了注解,执行的流程为:
1. 获取Class的类型 -> 2. 获取Class类中的method方法(cls.getMethods())->3. 迭代cls中的Method数组,使用method.isAnnotation(Test.class)进行判断是否含有@Test注解,如果为true,则执行method.invoke(),否则就不执行。