How can I make sure that all handlers were called in a loop? The best I came up with is to mock fake_handler function and assert that this function was called a certain number of times, but I think there might be a better solution.
class MessageHandler:
def __init__(self, handlers=None):
self.handlers = handlers or []
def handle(self, event, body):
for handler in self.handlers:
handler(event, body)
Tests:
def fake_handler(*args, **kwargs):
pass
class TestMessageHandler(TestCase):
@patch('tests.test_handlers.fake_handler')
def test_handle(self, fake_handler_mock):
messages = MessageHandler([fake_handler_mock, fake_handler_mock])
messages.handle(None, None)
self.assertEqual(fake_handler_mock.call_count, 2)
Aucun commentaire:
Enregistrer un commentaire