Курс 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. PATCH-запрос с библиотекой requests
  2. Метод join() для объединения элементов
  3. Отделение звука от видео
  4. Преобразование данных в Python
  5. Преобразование текста в нижний регистр
  6. Конвертация коллекций в Python
  7. Форматирование строк в Python
  8. Многоточие в Python
  9. Функция __init__ в Python
  10. Просмотр внешнего файла в Python
  11. Преобразование строк в числа в Python
  12. Возврат нескольких значений
  13. Работа со строками в Python
  14. Логирование с Logzero
  15. Преобразование типов данных в set comprehension
  16. Работа с областями видимости переменных
  17. Метод __iand__ для пользовательских классов
  18. Метод __irshift__ для побитового сдвига вправо
  19. Объединение списков в Python
  20. Функции с необязательными аргументами
  21. Философия Python
  22. Бинарный поиск
  23. Измерение времени выполнения в Python
  24. Определение функций с необязательными аргументами
  25. Циклы for в Python
  26. Создание словарей и множеств в Python.
  27. Обновление множества в Python
  28. Удаление элементов из списка
  29. Класс-оболочка для словарей
  30. Проверка индексов коллекции
  31. Обратный список чисел
  32. Принципы SRP и OCP
  33. Расчет времени выполнения кода
  34. Поиск уникальных и повторяющихся элементов
  35. Функция zip() в Python
  36. Работа с itertools
  37. Установка и использование Python-dateutil
  38. Progress с библиотекой tqdm
  39. Защита данных в Python
  40. F-строки в Python 3.8
  41. Сортировка и разворот списка
  42. Работа со строками в Python
  43. Курс Data Scientist в медицине
  44. Проверка версии Python
  45. Принципы Zen Python
  46. Зарезервированные слова в Python
  47. Генератор данных в Keras

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