Курс 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. Работа с массивами в Numpy
  2. Обработка исключений в Python
  3. Импорт с альтернативным именем
  4. Конвертация изображений в PDF
  5. Функции range() в Python
  6. Метод Enumerate() для списков
  7. Объединение итераторов
  8. Активация Matplotlib в Jupyter
  9. Необязательные аргументы в Python
  10. Создание виртуальной среды
  11. Работа с функцией next() в Python
  12. Многоточие в Python
  13. Область видимости переменных
  14. Python: Фильтрация списков с помощью filter()
  15. Роль object и type в Python
  16. Установка random seed в Python
  17. Печать в одной строке
  18. Python OrderedDict и fromkeys() — работа с словарями
  19. Метод matmul для умножения матриц
  20. Извлечение аудио из видео
  21. Метод add для класса Vector
  22. Оценка выражений генератора в Python
  23. Создание объекта timedelta
  24. Проверка условий в Python
  25. Проверка памяти объекта
  26. Фильтрация последовательности
  27. Экспорт данных в файл.
  28. Многострочные комментарии в Python
  29. Декодирование строк в Python
  30. Идентификатор объекта в Python
  31. Создание файла с проверкой ошибки
  32. Преобразование списков в словарь
  33. Модуль array: создание и использование массивов
  34. Инверсия списков и строк в Python
  35. Переворот списка в Python
  36. Распаковка с оператором *
  37. Работа с collections в Python.
  38. Выбор редактора кода.
  39. Профилирование с Pandas
  40. Pillow: работа с изображениями
  41. Функция divmod() в Python
  42. Выборка чисел
  43. Регулярные выражения: метод match
  44. Список переменных с %who
  45. Принципы Zen of Python
  46. Оператор деления для класса Rational
  47. Логирование с Logzero
  48. Значения по умолчанию в Python
  49. Проекты на Python

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