Курс Python → Тестирование функции сложения
Для написания и автоматического тестирования кода в Python часто используют модуль unittest или библиотеку pytest. Эти инструменты позволяют разработчикам создавать тесты для своего кода и проверять его работоспособность в автоматическом режиме. При этом можно убедиться, что изменения в коде не привели к появлению ошибок или неправильному поведению программы.
Давайте рассмотрим примеры использования модуля unittest и библиотеки pytest для тестирования простой функции сложения. Предположим, у нас есть функция add(a, b), которая складывает два числа. Мы хотим убедиться, что данная функция работает корректно, поэтому напишем тесты для нее.
import unittest
def add(a, b):
return a + b
class TestAddFunction(unittest.TestCase):
def test_add(self):
self.assertEqual(add(2, 3), 5)
self.assertEqual(add(-1, 1), 0)
self.assertEqual(add(0, 0), 0)
if __name__ == '__main__':
unittest.main()
В приведенном примере мы создали класс TestAddFunction, который наследуется от unittest.TestCase, и определили в нем метод test_add. В этом методе мы используем утверждения self.assertEqual для проверки результатов работы функции add. Если все утверждения выполняются успешно, то тест считается пройденным.
Теперь рассмотрим пример использования библиотеки pytest для тестирования той же функции add:
import pytest
def add(a, b):
return a + b
def test_add():
assert add(2, 3) == 5
assert add(-1, 1) == 0
assert add(0, 0) == 0
В данном случае мы просто определяем функцию test_add, внутри которой используем утверждения assert для проверки результатов работы функции add. Если какое-то из утверждений не выполняется, то pytest выведет сообщение об ошибке и укажет, что тест не прошел.
Другие уроки курса "Python"
- Работа с массивами в Numpy
- Обработка исключений в Python
- Импорт с альтернативным именем
- Конвертация изображений в PDF
- Функции range() в Python
- Метод Enumerate() для списков
- Объединение итераторов
- Активация Matplotlib в Jupyter
- Необязательные аргументы в Python
- Создание виртуальной среды
- Работа с функцией next() в Python
- Многоточие в Python
- Область видимости переменных
- Python: Фильтрация списков с помощью filter()
- Роль object и type в Python
- Установка random seed в Python
- Печать в одной строке
- Python OrderedDict и fromkeys() — работа с словарями
- Метод matmul для умножения матриц
- Извлечение аудио из видео
- Метод add для класса Vector
- Оценка выражений генератора в Python
- Создание объекта timedelta
- Проверка условий в Python
- Проверка памяти объекта
- Фильтрация последовательности
- Экспорт данных в файл.
- Многострочные комментарии в Python
- Декодирование строк в Python
- Идентификатор объекта в Python
- Создание файла с проверкой ошибки
- Преобразование списков в словарь
- Модуль array: создание и использование массивов
- Инверсия списков и строк в Python
- Переворот списка в Python
- Распаковка с оператором *
- Работа с collections в Python.
- Выбор редактора кода.
- Профилирование с Pandas
- Pillow: работа с изображениями
- Функция divmod() в Python
- Выборка чисел
- Регулярные выражения: метод match
- Список переменных с %who
- Принципы Zen of Python
- Оператор деления для класса Rational
- Логирование с Logzero
- Значения по умолчанию в Python
- Проекты на Python















