Учебники

Pytest — Тесты параметризации

Параметризация теста выполняется для запуска теста с несколькими наборами входов. Мы можем сделать это с помощью следующего маркера —

@pytest.mark.parametrize

Скопируйте приведенный ниже код в файл с именем test_multiplication.py

import pytest

@pytest.mark.parametrize("num, output",[(1,11),(2,22),(3,35),(4,44)])
def test_multiplication_11(num, output):
   assert 11*num == output

Здесь тест умножает входное значение на 11 и сравнивает результат с ожидаемым выходным значением. Тест имеет 4 набора входных данных, каждый из которых имеет 2 значения: одно — это число, которое нужно умножить на 11, а другое — ожидаемый результат.

Выполните тест, выполнив следующую команду —

Pytest -k multiplication -v

Приведенная выше команда сгенерирует следующий вывод: