Mock的断言与unittest的断言不同,unittest的断言是判断结果是否正确,而mock的断言主要检查传入的参数或方法是否正确。
Mock断言:帮助跟踪测试对象对mock方法的调用,他们能够与unittest模块中的断言一起使用。
1、Assert_called_with:检查mock方法是否获得了正确的参数,当同
样的方法调用超过一次时,Assert_called_with会忽略
2、Assert_called_once_with:检查测试对象是否正确的调用了mock
方法,当同样的方法调用超过一次时,会进行报错
3、Assert_any_call:检查参数传递的顺序是否与数值一致
4、Assert_has_calls:查看方法调用的顺序,检查他们是否按照正确的次序调用并带有正确的参数。
案例:
module.py代码参考上一篇:https://www.jianshu.com/p/74e2d4105155
运行结果:
案例1:
案例2:
案例3:
案例4: