1、 mock翻译过来有模拟的意思。mock是辅助单元测试的一个模块。它允许用模拟对象替换你的系统的部分,并对它们当前已使用的方式进行断言。
单元测试应该只针对当前单元进行测试,所有的内部或外部的依赖应该是稳定的。单元测试将焦点只放在当前的单元功能。
2、python3 mock集成在unittest
3、mock模拟桩
1)使用mock对象替代指定的python对象(函数、类中方法等等)
2)使用mock的目的:模拟那些不可用或不稳定的外部接口;特定测试环境下一些特殊的接口
4、mock的关键参数:
Case mock(name= , side_effect= , return_value = )
1)name:对象的唯一标识,用于命名和标识。
2)return_value:被mock的对象被调用时返回的值(对象),如果side_effect函数返回的是default,则对象的调用会返回return_value
3)side_effect:用户replace被mock的对象,调用于被mock的对象相当于调用side_effect。注意:一旦有side_effect与return_value参数同时存在,则side_effect有效
案例1:先不使用mock:
写一个基础类与函数,module.py代码:
测试代码train.py:
运行结果:
2个用例1个成功1个失败
案例2:使用mock
网友评论