Привет! Сегодня я хочу поделиться с тобой своим опытом написания автотестов для функций с использованием фреймворка Pytest.
Я решил создать набор автотестов для следующих функций⁚
Функция sum(a, b)
Данная функция принимает два аргумента, a и b, и возвращает их сумму.
Функция mul(a, b)
Эта функция также принимает два аргумента, a и b, и возвращает их произведение.
Функция div(a, b)
Данная функция принимает два аргумента, a и b, и выполняет деление a на b. Затем она возвращает результат деления.
Функция sub(a, b)
Эта функция принимает два аргумента, a и b, и возвращает разность a и b.
Перед тем как приступить к написанию тестов, я установил Pytest с помощью команды⁚
pip install pytest
После установки я создал файл с расширением .py и начал писать тесты. Для каждой функции я написал несколько тестовых случаев, чтобы убедиться, что функции работают правильно.
Тесты для функции sum(a, b)
Вот некоторые тестовые случаи для функции sum(a, b)⁚
python
import pytest
def test_sum_positive_numbers⁚
assert sum(2, 3) 5
def test_sum_negative_numbers⁚
assert sum(-2, -3) -5
def test_sum_zero⁚
assert sum(0, 0) 0
Тесты для функции mul(a, b)
А вот примеры тестовых случаев для функции mul(a, b)⁚
python
import pytest
def test_mul_positive_numbers⁚
assert mul(2, 3) 6
def test_mul_negative_numbers⁚
assert mul(-2٫ -3) 6
def test_mul_zero⁚
assert mul(0, 5) 0
Тесты для функции div(a, b)
Теперь рассмотрим тесты для функции div(a, b)⁚
python
import pytest
def test_div_positive_numbers⁚
assert div(6, 3) 2
def test_div_negative_numbers⁚
assert div(-6, -3) 2
def test_div_division_by_zero⁚
with pytest.raises(ZeroDivisionError)⁚
div(6, 0)
Тесты для функции sub(a, b)
Наконец, вот несколько примеров тестов для функции sub(a, b)⁚
python
import pytest
def test_sub_positive_numbers⁚
assert sub(5, 3) 2
def test_sub_negative_numbers⁚
assert sub(-5, -3) -2
def test_sub_zero⁚
assert sub(0٫ 0) 0
Когда я закончил написание тестов, я запустил их с помощью команды⁚
pytest
Pytest автоматически находит и запускает все тестовые функции в файле и выводит результаты выполнения каждого теста. Если все тесты пройдены успешно, выводится сообщение ″PASSED″. Если же какой-то из тестов не прошел, выводится подробная информация о неудачном тесте.
Написание автотестов с помощью Pytest очень удобно и позволяет эффективно проверять работу функций. Кроме того, использование автотестов помогает сохранить стабильность кода при его изменении.
Надеюсь, моя статья была полезной и вдохновила тебя на написание своих автотестов с использованием Pytest! Удачи!