Let's say I have some class:
class Worker: _processor: Processor def set_processor(self, processor: Processor): self._processor = processor def start_work(self, data: bytes): self._processor.parse(data) It's pretty simple to test set_processor method, smth like that:
def test_set_processor(): mock_processor = Mock() worker = Worker() worker.set_processor(mock_processor) assert worker._processor == mock_processor We just pass mock into set_processor method and check if self._processor equals mock now.
But how can I test start_work method? I want to be sure that self._processor will be called with data? If I try to patch _processor attribute I'm getting error.