Я пытался протестировать список входов в Pytest, используя эту функцию
def test_play_hand():
word_list = load_words()
hand = {'e': 2, 'u': 1, 'g': 1, 'm': 1, 'b': 1, 't': 1}
inputs = ['gum', 'beet', '.']
with mock.patch('builtins.input', return_value= next(iter(inputs))):
assert play_hand(hand, word_list) == 0
Функция play_hand запускает основанный на часовом сигнале цикл while, который получает словарь, а затем запрашивает у пользователя ввод строки.
Если вход является .
, цикл заканчивается.
В противном случае, если цикл получает строку, он проверит руку и наличие доступных символов и удалит символы, использованные в строке, из руки.
Тест работает, когда mock.patch получает только один вход.
Как реализовать тест, используя список или несколько входов для тестирования?
Без iter () выдает ошибку входных данных, не повторяемых, а с iter () просто замирает.
Я ценю любой вклад.
Редактировать: Забыл упомянуть, что play_hand возвращает int