Курс 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. Порядок операций в Python
  3. Переворот списка в Python
  4. PATCH-запрос с библиотекой requests
  5. Создание таблиц в терминале с PrettyTable
  6. Работа с необработанными строками
  7. Оператор += в Python
  8. Объединение списков в Python
  9. Метод gt в Python
  10. F-строки в Python
  11. Разность множеств
  12. Взаимодействие с внешними процессами в Python
  13. %pinfo: получение информации об объекте
  14. Роль object и type в Python
  15. Списки в Python
  16. Вывод переменной и строки в Python
  17. Работа с кортежами
  18. Работа с файлами в Python
  19. Переменные в Python
  20. Работа с атрибутом dict
  21. Работа с изменяемыми коллекциями
  22. Перевод текста с Python Translator
  23. Оператор * в Python
  24. Установка максимального количества цифр
  25. Подробная информация о %pinfo
  26. Присвоение и ссылки
  27. Создание новых списков через list comprehensions
  28. Добавление вложенных списков
  29. Оператор in и not in в Python
  30. Многострочные комментарии в Python
  31. TypedDict для kwargs в Python 3.12
  32. Создание лямбда-функций
  33. Операции со строками в Python
  34. Декораторы в Python
  35. Значения по умолчанию в Python
  36. Слияние словарей в Python 3.9
  37. Заказ карты Тинькофф Black
  38. Python enumerate() для работы с индексами
  39. Копирование в Python
  40. Печать в одной строке
  41. Аргумент по умолчанию
  42. Работа с переменными в Python
  43. Обмен данными с asyncio.Queue
  44. Работа с каталогами в Python
  45. Открытие и редактирование скриптов Python
  46. Срез в Python
  47. Magic Commands — улучшение работы с Python
  48. Оформление кода по PEP 8

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