Курс 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. Ошибка NotImplemented в Python
  5. Регулярные выражения в Python
  6. Извлечение данных из JSON
  7. Работа с путями в Python
  8. Управление доступом к модулю
  9. Применение функции к списку
  10. Функция eval() в Python
  11. Управление виртуальными средами в Python
  12. Транспонирование 2D-массива с помощью zip
  13. Лямбда-функции в Python
  14. capitalize() — изменение регистра первого символа строки
  15. Проверка типов с помощью isinstance
  16. Создание генераторов
  17. Цепные операции в Python
  18. HTTP-запросы с библиотекой Requests
  19. Удаление первого элемента списка
  20. Создание OrderedDict
  21. Удаление элементов из списка в Python.
  22. Аннотации типов в Python
  23. Использование функции enumerate()
  24. Декораторы для регистрации функций
  25. Аргументы *args и **kwargs
  26. Использование двоеточия в Python
  27. Извлечение чисел из текста
  28. Создание словаря через dict comprehension
  29. Метод __irshift__ для побитового сдвига вправо
  30. Преобразование регистра символов
  31. Определение локальных переменных в Python
  32. Сортировка с помощью key
  33. Циклы for в Python
  34. Оболочка Python
  35. Работа с итераторами через срезы
  36. Сортировка и обратный порядок
  37. Работа с комплексными числами
  38. Измерение времени выполнения кода
  39. Введение в PyTorch
  40. Структура данных deque в Python
  41. Подписка на @SelectelNews
  42. Управление контекстом выполнения
  43. Установка User-Agent в Python
  44. Класс UserDict: дополнительная функциональность
  45. Работа с collections в Python
  46. Введение в Python

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