С помощью pytest для цикла функций с несколькими входами, как мне утверждать ответы, которые я ожидаю на основе ответов?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 С помощью pytest для цикла функций с несколькими входами, как мне утверждать ответы, которые я ожидаю на основе ответов?

Сообщение Anonymous »

Здесь я сослался на принятый ответ Y4Kman. https://stackoverflow.com/a/59998012/27327525
Как мне итеративно выдавать свои утверждения, чтобы я мог проверять входные данные 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
Похоже, что ответы = iter(['rock','ska','punk']) на самом деле не повторяются.
И последнее замечание. Интересно, что когда я утверждаю, используя операторы «или», мой тест принимается.

Код: Выделить всё

assert genre == "rock" or genre == "ska" or genre == "punk"
Но я думаю, что это просто фраза «любое из значений в списке ответов», что на самом деле не является целью моего теста. Я хочу, чтобы было проверено первое значение (ответ[0]), затем второе (ответ[1]) и т. д.

Подробнее здесь: https://stackoverflow.com/questions/790 ... swers-that
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • @pytest.mark.skip против @pytest.mark.xfail в Pytest
    Anonymous » » в форуме Python
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • @pytest.mark.skip против @pytest.mark.xfail в Pytest
    Anonymous » » в форуме Python
    0 Ответы
    50 Просмотры
    Последнее сообщение Anonymous
  • @pytest.mark.skip vs @pytest.mark.xfail в pytest
    Anonymous » » в форуме Python
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Как мне правильно утверждать, что в Pytest возникает исключение?
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как я могу утверждать, что равные две модели пиданта с макетными атрибутами в Pytest?
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»