Курс 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"

  1. Переопределение метода divmod
  2. Преобразование чисел в Python
  3. Импорт модулей и пакетов в Python
  4. Управление контекстом выполнения кода
  5. Построение графиков в Matplotlib
  6. Создание словаря и множества
  7. Создание объекта timedelta
  8. Оптимизация памяти с __slots__
  9. Сортировка с помощью параметра key
  10. Мониторинг работы программы Py-spy
  11. Определение локальных переменных в Python
  12. Оптимизация поиска в словарях
  13. Ускорение обработки данных с %autoawait
  14. Команда %dhist — список посещенных каталогов
  15. Python Метод sleep() из time
  16. Функция print() — вывод информации
  17. Упрощение работы с JSON-данными в Python
  18. Хранение переменных в словаре.
  19. Проверка файла .py на синтаксис.
  20. Удаление файлов в Python
  21. Декоратор Property в Python
  22. Вычисление времени выполнения
  23. Закрытие файла в Python
  24. Проверка версии Python
  25. Метод join() для объединения элементов
  26. Преобразование числа в список цифр
  27. Структура строк в Python
  28. Проверка вхождения подстроки
  29. Работа с deque из collections
  30. Нарезка списков в Python
  31. Метод clear для коллекций
  32. Декораторы с @wraps
  33. Метод __getitem__ в Python
  34. Изучение объектов с помощью dir()
  35. Запуск внешних программ с subprocess
  36. Работа с файлами в Python
  37. Реверс строки в Python
  38. Комментарии в Python
  39. Операторы увеличения и уменьшения в Python
  40. Работа со слайсами
  41. Улучшенные подсказки для импорта в Python 3.12
  42. Работа с SQLite в Python
  43. Переворот строки с помощью срезов
  44. Множественное назначение в Python
  45. Работа с базами данных SQLite
  46. Определение основы слова с showballstemmer
  47. Инвертирование словаря

Marketello читают маркетологи из крутых компаний