Курс 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 3.12: Псевдонимы типов
- Копирование объектов в Python
- Библиотека Chartify: руководство
- Проверка типа объекта в Python
- Метод __iand__ для пользовательских классов
- Преобразование символов в нижний регистр
- Глобальные переменные в Python
- Именованные аргументы в Python
- Загрузка постов Instagram
- Подсчет часто встречающихся элементов
- Импорт с альтернативным именем
- Поиск самого частого элемента
- Удаление ключа из словаря
- Обучение модели с указанием эпох
- Игра «Камень, ножницы, бумага» — Python
- Преобразование Word в PDF с Spire.Doc
- Использование html-скриптов в Jupyter Notebook
- Работа с часовыми поясами в Python
- Создание обратного итератора
- Декораторы с аргументами
- Декораторы в Python
- Просмотр внешнего файла в Python
- Работа с timedelta в Python
- Работа с Colorama
- kwargs в Python
- Работа с deque в Python
- Вычисление логарифмов в Python
- Создание вложенных циклов for
- Расширение операции побитового «и» в Python
- Капитализация строк
- Установка и использование Virtualenv
- Извлечение аудио из видео
- Нахождение самого длинного слова в списке с помощью max
- Функция zip() — объединение последовательностей
- Работа с OpenCV
- Эффективная конкатенация строк в Python
- Установка и загрузка Instaloader
- Отладка утечек памяти в Python
- Howdoi — получение ответов из терминала
- Codecademy в Telegram
- Курс Data Scientist в медицине
- Переменные в Python: сокращение гласных
- Библиотека funcy: удобные утилиты
- Удаление дубликатов из списка с помощью dict.fromkeys
- Установка User-Agent в Python
- ChainMap избыточные ключи















