Курс 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. Объединение строк с помощью метода join
  2. Освобождение памяти в Python
  3. Объединение словарей в Python
  4. Python-dateutil — работа с датами
  5. Применение функций в Python
  6. Логирование в Python
  7. Копирование объектов в Python
  8. Применение функции к списку
  9. Применение функции к элементам списка
  10. Метод rpow в Python
  11. Работа с массивами в Numpy
  12. Установка и обучение ChatterBot
  13. Удаление первого элемента списка
  14. Определение локальных переменных в Python
  15. Обработка ошибок в Python
  16. Функции all и any в Python
  17. PUT запрос для обновления данных
  18. Работа с итераторами в Python
  19. Python: отличительная особенность — отступы
  20. Работа с изображениями PIL
  21. Сериализация и десериализация объектов
  22. Запуск внешних программ с subprocess
  23. Удаление ключа из словаря
  24. Создание класса в Python
  25. Установка пакетов с помощью pip
  26. Поиск самого частого элемента
  27. Дефолтные параметры в Python
  28. GitHub в Telegram: подписка на уведомления
  29. Инверсия списка и строки
  30. Типы возвращаемых значений в Python
  31. Метод remove() для удаления элемента из списка
  32. Преобразование символов в нижний регистр
  33. Проверка подстроки в строке с помощью in
  34. Метод __complex__ в Python
  35. Экранирование символов в Python
  36. Документация функции help() в Python
  37. Операция += для списков
  38. Проверка наличия элемента в списке
  39. Асинхронное программирование с asyncio
  40. Декораторы для регистрации функций
  41. Метод ne для сравнения объектов
  42. Работа с файлами в Python
  43. Операторы присваивания в Python
  44. Нахождение отличий в списках
  45. Генераторные функции в Python
  46. Хранение данных
  47. Создание новых списков через list comprehensions

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