- 单元测试的三种类别
1、基于返回值的测试;
测试方法返回值是否符合预期;
2、基于状态的测试;
测试方法对状态的改变是否符合预期;如测试新增修改方法。
3、交互测试;
对一个对象如何向其他对象发送消息(调用方法)的测试。如果一个特定的工作单元的最终结果是调用另一个对象,就需要进行交互测试。
- 模拟对象和存根的区别
定义
模拟对象是系统中的伪对象,它可以验证被测试对象是否按预期的方式调用了这个伪对象,决定单元测试是否通过。通常每一个测试最多有一个模拟对象。
伪对象可以描述一个存根或模拟对象,取决于它在当前测试中的使用方式:如果这个伪对象用来检验一个交互(对其进行断言),他就是模拟对象,否则就是存根。
注意:为了测试代码的可读性和诊断问题的方便性,一个单元测试只能有一个模拟对象,即只能测试一个模拟对象的调用。
- 隔离框架:mockito
动态存根和动态模拟对象:mock(Interface1.class)
mockito的使用介绍参见:Mockito教程