Python中Mock的示例

一些常用的mock示例

先简单定义个类,方便举例:

这个类里有两个成员方法,一个有参数,一个无参数。还有一个静态方法


mock成员方法

1. 使用Mock类,返回固定值

2. 校验参数个数,再返回固定值

上面的例子你也许已经注意到了,调用p.get_fullname时没有给任何的参数,但是依然可以工作。
如果想校验参数需要用create_autospec模块方法替代Mock类。

3. 使用side_effect, 依次返回指定值

4. 根据参数不同,返回不同的值

5. 抛出异常

6. 检验是否调用

mock静态方法

静态方法和模块方法需要使用patch来mock。

1. 在测试方法参数中得到Mock对象

2. 在patch中设置Mock对象

3. 使用patch.object

4. 使用with控制作用域

mock链式调用

在django里,我们经常需要mock数据库,而访问数据库时经常是链式调用,看个例子。

有个模块方法,返回数据库中所有指定name的人员,并按age排序

mock掉整个数据库访问

1 收藏 评论

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部