《单元测试的艺术》读书笔记----使用模拟对象进行交互测试

  • 单元测试的三种类别

        1、基于返回值的测试;

        测试方法返回值是否符合预期;

        2、基于状态的测试;

        测试方法对状态的改变是否符合预期;如测试新增修改方法。

        3、交互测试;

        对一个对象如何向其他对象发送消息(调用方法)的测试。如果一个特定的工作单元的最终结果是调用另一个对象,就需要进行交互测试。

  • 模拟对象和存根的区别

        定义 

        模拟对象是系统中的伪对象,它可以验证被测试对象是否按预期的方式调用了这个伪对象,决定单元测试是否通过。通常每一个测试最多有一个模拟对象。

        伪对象可以描述一个存根或模拟对象,取决于它在当前测试中的使用方式:如果这个伪对象用来检验一个交互(对其进行断言),他就是模拟对象,否则就是存根。

        注意:为了测试代码的可读性和诊断问题的方便性,一个单元测试只能有一个模拟对象,即只能测试一个模拟对象的调用。

  • 隔离框架:mockito

        动态存根和动态模拟对象:mock(Interface1.class)

       mockito的使用介绍参见:Mockito教程

猜你喜欢

转载自www.cnblogs.com/markcd/p/9006184.html