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(),否则就不执行。
本文对比了JUnit3.8和JUnit4.x的单元测试实现方式。JUnit3.8通过方法名匹配来执行测试,而JUnit4.x则引入了@Test注解来标记测试方法。两者都运用了反射机制,但JUnit4.x提供了更灵活的测试方法标识。

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



