Курс 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. Метод join() для объединения элементов в строку.
  3. Генераторы словарей и множеств
  4. Создание циклической ссылки
  5. Concrete Paths — метод .with_suffix()
  6. Работа со словарями в Python
  7. Удаление ссылок в Python
  8. CLI-инструмент howdoi
  9. Преобразование типов данных в set comprehension
  10. Комментарии в Python
  11. Оптимизация гиперпараметров с Scikit Optimize
  12. Логирование в Python
  13. Сравнение def и lambda в Python
  14. discard() — удаление элемента из множества
  15. Запуск Python из интерпретатора
  16. Непрерывная проверка в Python
  17. Функция enumerate() — Python
  18. Поиск кода
  19. Функция zip() в Python
  20. Копирование объектов в Python
  21. Форматирование строк в Python
  22. Получение текущей даты в Python
  23. Метод ior для битовых операций
  24. Проверка запуска скрипта или импорта модуля
  25. Отправка POST запроса на сервер.
  26. Тестирование модели в PyTorch
  27. Генераторы списков в Python
  28. Defaultdict в Python
  29. Получение текущей даты и времени с помощью datetime
  30. Преобразование чисел в Python
  31. Оператор is в Python
  32. Лямбда-функции в Python
  33. Конкатенация строковых литералов
  34. Сортировка элементов в Python
  35. Создание обратного итератора
  36. Работа с датами в Python
  37. Хеширование паролей с солью
  38. Разделение строки на пары ключ-значение.
  39. Замена символов в Python
  40. Именованные срезы в Python
  41. Создание словарей и множеств в Python.
  42. Работа с collections в Python

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