Mocking in Python: unittest.mock, MagicMock, and Return Values
A practitioner's guide to Python unit test mocking: when to use Mock vs MagicMock, setting return values and side effects, patching in the right place, and the assertions that make a mock worth writing.