Как мне итеративно выдавать свои утверждения, чтобы я мог проверять входные данные 1 за другим.
Этот код не является рабочий прошел первый ввод.
Код: Выделить всё
def test_test_get_genre_rock(monkeypatch):
responses = iter(['rock','ska','punk'])
monkeypatch.setattr('builtins.input', lambda _: next(responses))
genre = str(input("Select 1 to 5 genres - press 'ENTER' when done: ")).lower()
assert genre == "rock"
assert genre == "ska" # Obviously giving multiple assert statements is wrong
И если я попытаюсь утвердить несколько значений в соответствии с разделителями-запятыми, он никогда не подберет второй аргумент. .
Код: Выделить всё
def test_test_get_genre_rock(monkeypatch):
responses = iter(['rock','ska','punk'])
monkeypatch.setattr('builtins.input', lambda _: next(responses))
genre = str(input("Select 1 to 5 genres - press 'ENTER' when done: ")).lower()
assert genre == "rock", "ska"
assert genre == "rock", "ska" # is exactly the same
assert genre == "rock" # as this
И последнее замечание. Интересно, что когда я утверждаю, используя операторы «или», мой тест принимается.
Код: Выделить всё
assert genre == "rock" or genre == "ska" or genre == "punk"
Подробнее здесь: https://stackoverflow.com/questions/790 ... swers-that