Курс 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. Тестирование с responses
  2. Сериализация объектов в Python
  3. Combobox в Tkinter
  4. Создание комплексных чисел
  5. Область видимости переменных
  6. Команда %dhist — список посещенных каталогов
  7. Создание и инициализация объектов
  8. Метод ifloordiv для пользовательских классов
  9. Работа с контекстными менеджерами
  10. Типы возвращаемых значений в Python
  11. Python Тесты и Гайды
  12. Работа с файлами в Python
  13. Методы сравнения множеств
  14. Установка и использование модуля Wikipedia
  15. Сортировка с помощью key
  16. Цикл for в Python
  17. Лямбда-функции в Python
  18. Определение индекса элемента списка
  19. Работа с NumPy массивами
  20. Генерация случайных чисел в Python
  21. Метод get() в Python
  22. Аннотации типов в Python
  23. Векторизация в Python с NumPy.
  24. Преобразование символов с помощью map
  25. Работа с контекст-менеджером «with»
  26. Установка максимального количества цифр
  27. Операции с комплексными числами
  28. Функции с дополнением
  29. Декоратор для группы пользователей в Django
  30. Генераторы в Python
  31. Запуск внешних программ с subprocess
  32. Сортировка и обратный порядок
  33. Работа с YAML в Python
  34. Преобразование кортежа в словарь.
  35. Группы исключений в Python
  36. Секреты Python
  37. Условные выражения в Python
  38. Изменяемые и неизменяемые объекты
  39. Форматирование объектов с модулем pprint
  40. Работа с изменяемыми списками
  41. Удаление элемента по индексу в Python
  42. Оптимизация создания строк
  43. Тип данных TypeVarTuple
  44. Работа с дробями в Python
  45. Работа с SQLite в Python
  46. Python: отсутствие точек с запятыми
  47. Импорт модулей в Python 3.12

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