Курс 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. Модуль inspect: получение информации о объектах
  2. Оператор zip в Python
  3. Добавление элемента в список.
  4. Декораторы в Python
  5. Defaultdict в Python
  6. Синхронизация доступа к ресурсам
  7. Утечки переменных цикла в Python 3.x
  8. Склеивание строк без циклов
  9. Освобождение памяти в Python
  10. Переопределение метода xor в Python
  11. Python Менеджер контекста
  12. Удаление элемента из списка в Python
  13. Именованные аргументы в Python
  14. Python enumerate() функции
  15. Запуск Python из интерпретатора
  16. Метод pos в Python
  17. Структурирование именованных констант
  18. Модуль os: работа с файлами и папками
  19. Работа с файлами в Python
  20. Глобальные переменные в Python
  21. Импорт объектов из модулей
  22. Python UserString — создание подклассов строк
  23. Оператор обр. импликации
  24. Перебор элементов списка в Python
  25. Сравнение строк в Python
  26. Генераторы в Python
  27. Просмотр внешних файлов в %pycat
  28. Добавление цвета в консоли
  29. Python 3.12: Псевдонимы типов
  30. Хранение переменных в Python.
  31. Класс-оболочка для словарей
  32. Кортежи в Python: особенности и преимущества
  33. Отладка в Python
  34. Работа с множествами в Python
  35. Метод join() для объединения элементов строки
  36. Функция enumerate() — Python
  37. Установка Python — Простое руководство
  38. Работа с модулем Calendar
  39. Управление контекстом выполнения кода
  40. Работа с WindowsPath()
  41. Капитализация строк
  42. Обратный список чисел
  43. Извлечение новостей с newspaper3k
  44. Разбиение строки в Python
  45. Ограничение итераций в Python
  46. Открытие, чтение и закрытие файла
  47. Установка и использование модуля «howdoi»
  48. Строки в Python: апострофы и кавычки
  49. GitHub в Telegram: подписка на уведомления

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