我想使用提示从用户获取密码的功能编写测试:
from getpass import getpass
....
getpass(Password)
在测试课中:
import getpass
@patch('getpass.getpass')
def test_func(self, mock_getpass_func):
....
mock_getpass_func.return_value = 'mockpassword'
....
但是当我运行测试时,它会抛出:
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/getpass.py", line 91, in unix_getpass
passwd = fallback_getpass(prompt, stream)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/getpass.py", line 126, in fallback_getpass
return _raw_input(prompt, stream)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/getpass.py", line 148, in _raw_input
raise EOFError
EOFError
为什么不简单地模拟函数及其返回值?我应该如何嘲笑它?