Курс 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. Проверка подстроки в строке с помощью in
  2. Проверка дублей в списке.
  3. Генерация строк с .join()
  4. Форматирование данных с помощью pprint
  5. Работа с типами данных в Python с помощью pydantic.
  6. Извлечение аудио из видео
  7. Метод enumerate() в Python
  8. Обработка StopIteration в Python
  9. Оператор «and» в Python
  10. Документация функции help() в Python
  11. Различия символов в Python
  12. Однострочники Python
  13. Присвоение значений переменным в Python
  14. Python enumerate() функции
  15. Python: библиотеки и функции
  16. Python Enumerate
  17. Метод repr() в Python
  18. Отображение HTML кода в Python
  19. Разделение строки с помощью split()
  20. Лямбда-функции в цикле
  21. Проверка версии Python
  22. Объединение кортежей в Python
  23. Оператор break в Python
  24. Разделение строк методом split()
  25. Декораторы в Python
  26. Отправка поздравлений по дню рождения
  27. Генераторы в Python
  28. Concrete Paths в Python
  29. Показ всплывающих окон Tkinter
  30. Функции высшего порядка в Python
  31. Функции классификации комплексных чисел
  32. Подписка на @SelectelNews
  33. Преобразование символов в нижний регистр
  34. Создание GUI с Tkinter: Entry
  35. Хеши в Python
  36. Хэш-функции в Python
  37. Пропуск начальных строк с помощью dropwhile()
  38. Преобразование строк в числа с плавающей запятой
  39. Метод lt для сортировки объектов
  40. Работа с collections.Counter
  41. Оператор «not» в Python
  42. Потоковый ввод в Python
  43. Группы исключений в Python
  44. Гибкие функции Python
  45. Класс-оболочка для словарей
  46. Создание копии списка в Python

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