如何测试模拟函数被调用的次数?

时间:2018-06-08 04:37:26

标签: python unit-testing mocking

source.py:

def my_print(x):
    return x

def count(n):
    for x in range(n):
        my_print(x)

我想测试my_print中调用count的次数(带有相应的参数)。

source_test.py

from mock import patch, call
from source import count

@patch('source.my_print')
def test(mock_func):
    count(5)
    calls = [call(0),call(1), call(2), call(3), call(4)]
    mock_func.assert_called_with(calls)

但结果是假测试用例,因为只计算最后一次调用。

E       AssertionError: Expected call: my_print([call(0), call(1), call(2), call(3), call(4)])
E       Actual call: my_print(4)

我在这里做错了什么?

谢谢。

0 个答案:

没有答案