未调用断言输入

我在用python编写单元测试时遇到了一个小问题。我想断言没有提示用户输入。有许多示例说明如何使用unittest.mock simulate input,或如何判断是否调用了user-defined object的方法。但是,input是python的内置方法。

做这件事的最好方法是什么?

PUXI3230 回答:未调用断言输入

通过蛮力测试,它看起来像以下作品:

def foo():
    return 7

with patch('builtins.input',return_value='y') as mocked:
    foo()

mocked.assert_not_called()

以下内容将使测试失败:

def foo():
    input('bar')
    return 7

with patch('builtins.input',return_value='y') as mocked:
    foo()

mocked.assert_not_called()
本文链接:https://www.f2er.com/3121367.html

大家都在问