Почему ошибка при использовании макета? OSError: чтение из стандартного ввода во время захвата вывода - PullRequest
0 голосов
/ 24 октября 2019

У меня есть основная функция. Само по себе, он принимает 3 аргумента - возраст, пол, source_of_income.

Эти аргументы передаются через функцию input ().

Я хочу создать для нее тест с помощью py test изаменить входящие данные:

from unittest.mock import patch


def expected_values():
    for item in [2,"F","собственный бизнес"]:
        yield item

exp_gen = expected_values()

@patch('builtins.input', lambda *args: next(exp_gen))
def test_main():
    assert main.main(age=-2,gender="F",source_of_income="собственный бизнес") 

но тест - не работает

raise IOError("reading from stdin while output is captured") OSError: reading from stdin while output is captured

Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...