使用补丁模拟getpass

时间:2019-05-31 21:01:45

标签: python

我想使用提示从用户获取密码的功能编写测试:

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

为什么不简单地模拟函数及其返回值?我应该如何嘲笑它?

0 个答案:

没有答案