Курс 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"
- Работа с переменными в Python
- Перевод эмодзи и эмотиконов.
- Глобальные переменные в Python
- Ошибка NotImplemented в Python
- Регулярные выражения в Python
- Извлечение данных из JSON
- Работа с путями в Python
- Управление доступом к модулю
- Применение функции к списку
- Функция eval() в Python
- Управление виртуальными средами в Python
- Транспонирование 2D-массива с помощью zip
- Лямбда-функции в Python
- capitalize() — изменение регистра первого символа строки
- Проверка типов с помощью isinstance
- Создание генераторов
- Цепные операции в Python
- HTTP-запросы с библиотекой Requests
- Удаление первого элемента списка
- Создание OrderedDict
- Удаление элементов из списка в Python.
- Аннотации типов в Python
- Использование функции enumerate()
- Декораторы для регистрации функций
- Аргументы *args и **kwargs
- Использование двоеточия в Python
- Извлечение чисел из текста
- Создание словаря через dict comprehension
- Метод __irshift__ для побитового сдвига вправо
- Преобразование регистра символов
- Определение локальных переменных в Python
- Сортировка с помощью key
- Циклы for в Python
- Оболочка Python
- Работа с итераторами через срезы
- Сортировка и обратный порядок
- Работа с комплексными числами
- Измерение времени выполнения кода
- Введение в PyTorch
- Структура данных deque в Python
- Подписка на @SelectelNews
- Управление контекстом выполнения
- Установка User-Agent в Python
- Класс UserDict: дополнительная функциональность
- Работа с collections в Python
- Введение в Python















