Я пытаюсь написать тест в pytest
, чтобы передать пароль с getpass
, но я получаю эту ошибку:
OSError: reading from stdin while output is captured
вот моя функция:
def test_my_password_check(monkeypatch):
password = 'pytestpassword'
monkeypatch.setattr('getpass.getpass', lambda: password)
update_passwords()
assert keyring.get_password('testaddress', 'testusername') == password
Я уже пробую с:
import mock
@mock.patch("getpass.getpass")
def test_username_password(getpass):
password = 'pytestpassword'
getpass.return_value = "xxx"
update_passwords()
assert keyring.get_password('testaddress', 'testusername') == password
даже с from unittest.mock import patch
или update_passwords.getpass = lambda: password
Все это с одной и той же ошибкой. Что мне не хватает? Спасибо!!