Курс 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. Протокол управления контекстом
  2. Подробная информация о %pinfo
  3. Регистрация на курсы SF Education
  4. Декораторы классов
  5. Python itertools combinations() — группировка элементов
  6. Хеши в Python
  7. Метод hash в Python
  8. Объединение, распаковка и деструктуризация
  9. Сортировка с помощью параметра key
  10. Поиск частого элемента
  11. Цикл for в Python
  12. Подсчет элементов с помощью Counter
  13. PrettyTable: создание таблицы
  14. Транспонирование матрицы в Python
  15. Работа с изменяемыми коллекциями
  16. Метод split() для разделения строк
  17. Работа с файлами в Python
  18. Логирование в Python
  19. Работа с zip()
  20. Многопоточность и асинхронное программирование в Python
  21. Встроенные функции Python
  22. Тайное преобразование типа ключа
  23. %pinfo: получение информации об объекте
  24. Python Ellipsis использование
  25. Создание и использование ChainMap
  26. Округление банкира в Python
  27. Расчет времени выполнения
  28. Определение имен функций
  29. Установка и использование howdoi
  30. Класс-оболочка для словарей
  31. Многострочные комментарии в Python
  32. Работа с файлами в Python
  33. Progress с библиотекой tqdm
  34. Удаление дубликатов из списка
  35. Экспорт данных с помощью writefile
  36. Методы shutil для работы с файлами
  37. Синхронизация потоков с time.sleep()
  38. Определение относительного пути
  39. Различия символов в Python
  40. Игра «Камень, ножницы, бумага» — Python
  41. Метод rmatmul для обратного матричного умножения
  42. Работа со строками в Python
  43. Форматирование строк в Python
  44. Возврат нескольких значений из функции
  45. Преобразование многоуровневого словаря
  46. Оператор break в Python
  47. Mad Libs Generator
  48. Python Тесты и Гайды

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