我应该如何测试在循环中调用了多个函数?

如何确保在循环中调用所有处理程序?我想出的最好方法是模拟fake_handler函数并检查该函数是否被调用了一定次数,但我认为可能有更好的解决方案。


class MessageHandler:

    def __init__(self, handlers=None):

        self.handlers = handlers or []


    def handle(self, event, body):

        for handler in self.handlers:

            handler(event, body)

测试:


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)


大话西游666
浏览 147回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python