Курс 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. Магические методы в Python
  3. Конкатенация строк с join() в Python
  4. Логирование с Logzero
  5. Ускорение обработки данных с %autoawait
  6. Создание вложенных циклов for
  7. Список и кортеж в Python
  8. Функция findall() для поиска вхождений строки
  9. Функция reversed() в Python
  10. split() без разделителя
  11. Конвертация коллекций в Python
  12. Использование type hints
  13. Оператор += в Python
  14. Разделение функций на этапы
  15. JMESPath в Python
  16. Работа с областями видимости переменных
  17. Извлечение чисел из текста
  18. Экранирование символов в Python
  19. Метод join() для объединения элементов в строку.
  20. Оптимизация интернирования строк
  21. Прокачанный трейсинг ошибок
  22. Python union() функция — объединение множеств
  23. Создание Radio кнопок в tkinter
  24. Освоение Python
  25. Метод join для наборов
  26. Flask — веб-фреймворк Python
  27. Применение функции к каждому элементу списка
  28. Оператор assert в Python
  29. Функция divmod() в Python
  30. Установка и использование emoji
  31. Отображение графиков в Jupyter с Matplotlib
  32. Переопределение метода sub
  33. Оператор «not» в Python
  34. Преобразование многоуровневого словаря
  35. Работа со словарями с defaultdict из collections
  36. Сумма элементов списка
  37. Мониторинг памяти с Pympler
  38. Циклы в Python
  39. Python Calendar Usage
  40. Получение пути к текущему скрипту с помощью os
  41. Pretty-printing JSON в Python
  42. Работа с файлами в Python
  43. Профилирование данных с Pandas
  44. Переопределение метода __lshift__
  45. Метод __float__ в Python
  46. UserList в Python: Описание и примеры использования
  47. Работа с временем в Python

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