Курс 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. Метод enumerate() в Python
  2. Оператор * в Python
  3. Удаление символа из строки
  4. Бинарный поиск
  5. Работа с кортежами в Python
  6. Замена элементов в списке с помощью генераторов списков
  7. Добавление цвета в консоли
  8. Создание объекта времени
  9. Переменные в Python: сокращение гласных
  10. Проверка типа данных
  11. Фильтрация последовательности
  12. Цепные операции в Python
  13. Работа с файлами в Python
  14. Изменение объектов в Python
  15. Явный импорт переменных
  16. Объединение строк с помощью метода join
  17. Прокачанный трейсинг ошибок
  18. Работа с timedelta в Python
  19. Ключевое слово global в Python
  20. Поиск HTML-элементов с BeautifulSoup
  21. Оператор match в Python
  22. Работа с пакетами
  23. Запуск файлового сервера
  24. Участие в сообществе @selectel
  25. Работа с библиотекой xkcd
  26. Применение функции к списку
  27. Подсчет элементов в списке с Counter
  28. Загрузка постов Instagram
  29. Разделение строк в Python
  30. Множественное присваивание в Python
  31. Преобразование Excel в PDF с Spire.XLS
  32. Работа с функцией next() в Python
  33. Python Поверхностное Копирование
  34. Условные выражения в Python
  35. Фильтрация списков с itertools
  36. Удаление дубликатов из списка
  37. Псевдонимы в Python
  38. Списки: объединение, изменение
  39. Вложенные циклы в Python
  40. Реализация операции -= для пользовательского класса
  41. Приоритет операций в Python
  42. Объединение словарей в Python
  43. Оператор in для проверки наличия элемента
  44. Проблема сравнения словарей
  45. Модуль itertools: эффективная работа с итераторами

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