Курс 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. Управление IP-адресами через прокси
  2. Блок else в циклах.
  3. Приоритет операций в Python
  4. Делегирование в Python
  5. Модуль xkcd: загрузка комиксов
  6. Управление асинхронными задачами на Python.
  7. Обработка исключений в Python
  8. Удаление элемента из списка в Python
  9. Капитализация строк
  10. Модуль Antigravity в Python 3
  11. Сериализация и десериализация объектов
  12. Оператор break в Python
  13. Атрибуты класса и экземпляра
  14. Возврат нескольких значений
  15. Метод __complex__ в Python
  16. Структура данных словарь в Python
  17. Красивый вывод списка
  18. Создание новых списков в Python
  19. Управление мышью и клавиатурой с Pyautogui
  20. Вывод баннеров
  21. Передача словаря через **kwargs
  22. Метод ifloordiv для пользовательских классов
  23. Введение в PyTorch
  24. Разделение строк в Python
  25. Бесконечные списки в Python
  26. Docstring в Python
  27. Пропуск начальных строк с помощью dropwhile()
  28. Добавление элементов в список
  29. Функция zip() — объединение последовательностей
  30. Операторы сравнения в Python
  31. Избегание циклических зависимостей классов в Python
  32. Перегрузка операторов в Python
  33. Счетчик ссылок в Python
  34. Разделение строки с регулярными выражениями
  35. Преобразование данных в Python
  36. Методы __repr__ и __str__ в Python
  37. Передача аргументов в Python
  38. Обезопасьте ввод данных
  39. Применение промокода в Много лосося
  40. Функция enumerate() — Python
  41. Декораторы в Python
  42. Установка и использование howdoi
  43. Установка Git и AWS CLI
  44. Принципы программирования
  45. Очистка данных с помощью pandas
  46. Функция rsplit() в Python

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