首页 > 解决方案 > 断言错误。为什么 call_count 为空?

问题描述

我不明白为什么没有 call_count 可以与 INPUTS 进行比较。INPUTS 中有七个调用,call_count 中也应该有七个。

def test_run_ok(self):
    send_mock = Mock()
    api_mock = Mock()
    api_mock.message.send = send_mock

    events = []
    for input_text in self.INPUTS:
        event = deepcopy(self.RAW_EVENT)
        event['object']['message']['text'] = input_text
        events.append(VkBotMessageEvent(event))

    long_poller_mock = Mock()
    long_poller_mock.listen = Mock(return_value=events)

    with patch('bot.VkBotLongPoll', return_value=long_poller_mock):
        bot = Bot('', '')
        bot.api = api_mock
        bot.run()

    assert send_mock.call_count == len(self.INPUTS) # AssertionError!!!

    real_outputs = []
    for call in send_mock.call_args_list:
        args, kwargs = call
        real_outputs.append(kwargs['message'])

    assert real_outputs == self.EXPECTED_OUTPUTS

debag 显示: debag

请帮助,善良的人!

标签: pythonassertion

解决方案


推荐阅读