微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 pytest 和 unitest.mock 进行故障注入和后续恢复

如何解决如何使用 pytest 和 unitest.mock 进行故障注入和后续恢复

我正在开发一个处理队列中任务的 Python 应用程序。如果任务意外失败(即机器崩溃),队列将重新发送任务。我的任务自然不是幂等的,所以我必须编写额外的代码来正确处理重传,并且我希望能够在我的代码中的特定位置测试失败。因为我想验证我的任务是否可以正常恢复,所以我希望这些失败只在第一次尝试时发生,然后在后续尝试中成功。

我现有的测试框架使用 pytest,所以我认为 unittest.mock 结合 pytest 固定装置可能是启用此类测试的好方法。我想知道是否有人以前有过此类任务的经验,并且可以就如何最好地创建这一系列测试提供任何建议。我在 this stackoverflow post 中看到一个建议,pytest.mock 应该在夹具内使用 yield,但我的理解是我只能提供一个 yield,所以我不确定如何为以后的测试步骤提供不同的行为。是否有我应该遵循的最佳做法?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。