我正在使用 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 方法来查看您的应用程序是否以某种方式处理这些故障?
