什么是单元测试
维基百科:单元测试(又成为模块测试,Unit Testing)是针对程序模块(软件设计的最小单位)来进行正确性检测的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是某个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。
单元测试框架适用的测试场景
1.单个函数的测试
2.一个class或者几个功能相关class的测试
3.对于纯函数测试,接口级别的测试非常合适
然而对于一些复杂的场景:例如被测对象依赖复杂,甚至无法简单new出这个对象;一些failure场景的测试;被测对象中涉及多线程合作;被测对象通过消息与外界交互的场景等等,单纯依赖单元测试框架是无法实现单元测试的。但是Mock一般可以解决以上场景遇到的问题。
什么是Mock
百度百科:mock测试就是在测试过程中,对于某些不容易造成或者不容易获取的对象,用一个虚拟的对象来创建一边测试的测试方法。
Mock适用的测试场景
1.真实对象具有不可确定的行为(产生不可预测的结果,如股票的行情)&