python - 断言错误。为什么 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
请帮助,善良的人!
解决方案
推荐阅读
- android - 如何在启用反应原生调试模式的反应原生安卓模拟器上修复“EISDIR:对目录的非法操作,读取错误”
- node.js - 如何从 NodeJS Admin SDK 中的 Firebase 身份验证中删除最后登录超过一定时间的匿名用户?
- python - 寻找白色像素的最佳拟合线
- python - 在文本文件中查找名称
- function - Ansible:创建一个函数
- c# - 在客户端断开连接的情况下,如何重用 Networkstream[] ns = new NetworkStream[10]
- redis - 更新数据时如何去除redis中的旧数据?
- c++ - 如何在 Visual Studio 2019 中使用 g++ 编译器?
- .net - 在 Windows 服务器中,“应用程序开发功能”设置在哪里?
- c++ - 操作系统的 Qt ui