Необходимо написать на pytest набор автотестов для данных функций:
def sum(a, b):
return a + b
def mul(a, b):
return a * b
def div(a, b):
return a / b
def sub(a, b):
return a – b
pip install pytest
Шаг 2. Создание файла с тестами:
Создайте файл с расширением `.py` для тестовых сценариев, например `test_math_functions.py`. В этом файле вы будете описывать тесты для функций `sum`, `mul`, `div` и `sub`.
Шаг 3. Описание тестов:
Импортируйте функции, которые вы хотите протестировать:
python
from your_module import sum, mul, div, sub
В данном случае `your_module` - это имя модуля, в котором определены функции `sum`, `mul`, `div` и `sub`. Если эти функции находятся в том же файле, что и тесты, просто напишите:
python
from . import sum, mul, div, sub
Теперь вы можете начать описывать тесты. Каждый тест представляет собой обычную функцию, которая начинается с префикса `test_`. Внутри функции теста вызывается тестируемая функция и проверяется ожидаемый результат с помощью функций-проверок из библиотеки `pytest`.
python
def test_sum():
assert sum(2, 3) == 5
def test_mul():
assert mul(2, 3) == 6
def test_div():
assert div(6, 3) == 2
def test_sub():
assert sub(5, 3) == 2
Функция `assert` проверяет, что утверждение справедливо, и в противном случае выбрасывает исключение `AssertionError`. Если все утверждения в тесте выполнились успешно, то тест считается пройденным.
Шаг 4. Запуск тестов:
Запустите тесты с помощью команды `pytest` в консоли, указав путь к файлу с тестами:
pytest test_math_functions.py
Вы увидите результаты выполнения тестов в консоли. Если все тесты пройдены успешно, то вы увидите сообщение о прохождении всех тестов, иначе будет выведено информация о тестах, которые провалились.
Кроме того, pytest предоставляет множество дополнительных возможностей для написания более сложных тестов, таких как параметризованные тесты, использование фикстур, маркировка тестов и другие. Вы можете изучить полную документацию pytest, чтобы узнать больше о его функциональности.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет