Skip to main content
 首页 » 编程设计

python之如何在 python 中模拟 Django Model.save() 函数

2025年05月04日34jillzhang

我正在使用 mock library我希望能够通过以下方式模拟我的模型类的 save() 函数:

应调用原始函数两次(并成功实际保存模型),第三次应抛出异常。

这是针对调用 save 三次的函数的单元测试(此特定测试需要处理只有第三次调用失败的情况)。

请您参考如下方法:

基于 http://pypi.python.org/pypi/mock文档。

>>> values = [1, 2] 
>>> def side_effect(): 
...     return values.pop() 
... 
>>> real = SomeModelClass() 
>>> real.save = Mock(side_effect=side_effect) 

应该工作两次,然后每次都以 IndexError 失败。

我不知道当基础架构停止工作时,您的代码可能会显示什么。您是否也在测试所有操作系统调用?所有 Python 库调用?所有其他 Django 方法来查看您的应用程序是否以某种方式处理这些故障?