Курс 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 3.12: Псевдонимы типов
  2. Копирование объектов в Python
  3. Библиотека Chartify: руководство
  4. Проверка типа объекта в Python
  5. Метод __iand__ для пользовательских классов
  6. Преобразование символов в нижний регистр
  7. Глобальные переменные в Python
  8. Именованные аргументы в Python
  9. Загрузка постов Instagram
  10. Подсчет часто встречающихся элементов
  11. Импорт с альтернативным именем
  12. Поиск самого частого элемента
  13. Удаление ключа из словаря
  14. Обучение модели с указанием эпох
  15. Игра «Камень, ножницы, бумага» — Python
  16. Преобразование Word в PDF с Spire.Doc
  17. Использование html-скриптов в Jupyter Notebook
  18. Работа с часовыми поясами в Python
  19. Создание обратного итератора
  20. Декораторы с аргументами
  21. Декораторы в Python
  22. Просмотр внешнего файла в Python
  23. Работа с timedelta в Python
  24. Работа с Colorama
  25. kwargs в Python
  26. Работа с deque в Python
  27. Вычисление логарифмов в Python
  28. Создание вложенных циклов for
  29. Расширение операции побитового «и» в Python
  30. Капитализация строк
  31. Установка и использование Virtualenv
  32. Извлечение аудио из видео
  33. Нахождение самого длинного слова в списке с помощью max
  34. Функция zip() — объединение последовательностей
  35. Работа с OpenCV
  36. Эффективная конкатенация строк в Python
  37. Установка и загрузка Instaloader
  38. Отладка утечек памяти в Python
  39. Howdoi — получение ответов из терминала
  40. Codecademy в Telegram
  41. Курс Data Scientist в медицине
  42. Переменные в Python: сокращение гласных
  43. Библиотека funcy: удобные утилиты
  44. Удаление дубликатов из списка с помощью dict.fromkeys
  45. Установка User-Agent в Python
  46. ChainMap избыточные ключи

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