测试进阶技巧|Mock
信息
2024年8月12日 · ·
在 Mock 测试中,有许多进阶技巧可以帮助你更灵活、更准确地模拟和验证各种情况。以下是一些常见的高级技巧,包括链式调用设置与验证以及其他有用的策略。
进阶技巧
链式调用设置
- 链式调用链:可以使用
MagicMock
的side_effect
特性来设置链式调用,每个调用返回不同的 Mock 对象。
from unittest.mock import MagicMock
# Example of chaining
mock_query = MagicMock()
mock_filter = MagicMock()
mock_final = MagicMock()
mock_query.filter.return_value = mock_filter
mock_filter.filter.return_value = mock_final
mock_final.all.return_value = ["mocked_result"]
# Now when you call mosk_query().filter().filter().all() it will return ["mocked_result"]