Курс 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. Получение текущей даты в Python
  2. Рекурсия для обращения строки
  3. Взаимодействие с внешними процессами в Python
  4. Генераторы данных
  5. Работа с типами данных в Python с помощью pydantic.
  6. Печать комбинаций в Python с Itertools
  7. Замена символов в строке
  8. Lambda-функция в Python: использование с map() и sum()
  9. Выключение компьютера с помощью Python
  10. Функция enumerate() в Python
  11. Использование функции enumerate()
  12. UserString в Python
  13. Профилирование данных с Pandas.
  14. enumerate() в Python для работы с индексами
  15. Генераторы в Python
  16. Python Метод del.
  17. Создание GUI с Tkinter: Entry
  18. Гибкие функции Python
  19. Переменная Шредингера
  20. Antigravity модуль
  21. Установка Home Assistant
  22. Оптимизация памяти с __slots__
  23. Работа с пользовательским вводом
  24. Именованные срезы в Python
  25. Сравнение строк в Python
  26. Разность множеств
  27. Python defaultdict добавление ключа
  28. Создание комплексных чисел
  29. Функция zip() в Python
  30. Объединение словарей в Python 3.5+
  31. Генераторы в Python
  32. Оператор «моржа» (Walrus Operator)
  33. Изменение элемента списка
  34. Python-dateutil — работа с датами
  35. Классы данных в Python
  36. Добавление элемента к кортежу
  37. Регистрация на TenChat
  38. Метод bool() в Python
  39. Создание веб-приложения с Flask
  40. Однострочники Python
  41. Удаление файлов с shutil.os.remove()
  42. Модуль math: константы π и e
  43. Обрезка изображения с Pillow
  44. Переопределение метода sub
  45. Распаковка аргументов в Python
  46. CLI-инструмент howdoi
  47. Искажение имен в Python

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