Мой код без кода:
def test_trial(self):
print(__builtins__['input'])
with patch.object(__builtins__, str(input), lambda: 'test', create=True):
assert 1 == 1
Как вы видите, я пытаюсь протестировать функцию с входом в ней и хочу переопределить этот вход. Тем не менее, это не похоже на работу! Я получаю ошибку атрибута!
Я удалил свои пути к файлам и заменил их на ~. Все остальные мои тесты работают, в том числе и в этом файле. Сразу после этого я могу напечатать ввод, и он находит его в поле ввода. Я ударил AttributeError
. Я удалил остальную часть диктов, чтобы не загромождать экран. Это встроенный диктат, и я могу физически видеть вклад, что, честно говоря, очень взволновало меня. Пожалуйста, помогите мне! Я использую conda env в коде VS, но использовал другой и не удалось. Добавление create=True
не помогает. ПОЖАЛУЙСТА, ПОМОГИТЕ :( появляется встроенная функция ввода. Это означает, что она существует в dict.
Вот вывод:
<built-in function input> E
ERROR: test_trial (test_this_file.TestingAccounts)
Traceback (most recent call last):
File "~", line 79, in test_trial
with patch.object(__builtins__, str(input), lambda: 'test'):
File "~/python3.7/site-packages/mock/mock.py", line 1394, in __enter__
original, local = self.get_original()
File "~/lib/python3.7/site-packages/mock/mock.py", line 1368, in get_original
"{} does not have the attribute {!r}".format(target, name)
AttributeError: {'__name__': 'builtins', '__doc__':