Встречается на собеседованиях • сегодня
Как использовать unit тест с параметрами в pytest
В pytest параметризованные тесты можно создать с помощью декоратора @pytest.mark.parametrize. Он позволяет передавать разные наборы данных в один тест, избегая дублирования кода.
Пример:
python
import pytest
@pytest.mark.parametrize("input, expected", [
(2, 4),
(3, 9),
(5, 25)
])
def test_square(input, expected):
assert input ** 2 == expectedКлючевые моменты:
- Первый аргумент декоратора - строка с именами параметров через запятую
- Второй аргумент - список кортежей с тестовыми данными
- Можно использовать несколько декораторов для комбинаторики параметров
- Для сложных случаев можно передавать параметры через фикстуры
Для удобства можно выносить параметры в отдельную переменную:
python
test_data = [(1, 1), (2, 4), (3, 9)]
@pytest.mark.parametrize("x,expected", test_data)
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы