Курс 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. Транспонирование 2D-массива с помощью zip
  3. Управление асинхронными задачами с помощью Semaphore
  4. Область видимости переменных
  5. Сложение матриц в NumPy
  6. Python Аргументы по умолчанию
  7. Метод Self в Python
  8. Python и Юникод: работа с цифрами
  9. Списки в Python
  10. Python: изменяемые и неизменяемые коллекции
  11. Работа с SQLite в Python
  12. Модуль itertools: комбинации и перестановки
  13. Декораторы с аргументами
  14. Избегайте ошибку FileNotFoundError
  15. Декораторы в Python
  16. Codecademy в Telegram
  17. Функция reversed() в Python
  18. Разделение строки с регулярными выражениями
  19. Метод join() для объединения элементов строки
  20. Работа с комплексными числами
  21. Список переменных в Python
  22. Хеширование паролей с использованием salt
  23. Проверка на палиндром
  24. Howdoi — получение ответов из терминала
  25. Фильтрация списка чисел
  26. Подсчет часто встречающихся элементов
  27. Python enumerate() функции
  28. Работа с часовыми поясами в Python
  29. Импорт модулей в Python 3.12
  30. Определение функций с необязательными аргументами
  31. Гибкие функции Python
  32. Условные выражения в Python
  33. Работа с IP-адресами в Python
  34. Цикл for в Python
  35. Красивый вывод списка
  36. Изменяемые и неизменяемые объекты
  37. Декоратор @override
  38. Удаление элементов из списка в Python
  39. Магические методы в Python
  40. Регулярные выражения в Python
  41. Представление бесконечности в Python
  42. Поиск частого элемента
  43. PEP-401: оператор
  44. Работа с YAML в Python
  45. Взаимодействие с sys
  46. Метод __call__ в Python

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