Курс 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. Наследование в программировании
  3. Метод rlshift для битового сдвига
  4. Python UserString — создание подклассов строк
  5. Генераторы в Python
  6. Создание итерируемых объектов
  7. Обработка исключений
  8. Обработка ошибок ввода данных
  9. Отладка регулярных выражений в Python
  10. Обход дочерних элементов BeautifulSoup
  11. Многоточие в Python
  12. Метод splitlines() для разделения строк
  13. Удаление эмодзи с помощью pandas
  14. Преобразование списка в словарь через генератор
  15. PEP-401: оператор
  16. Установка и использование pyshorteners
  17. Фильтрация списка от «ложных» значений
  18. Работа с timedelta
  19. Фильтрация списка чисел
  20. Условные выражения в Python
  21. Создание пустых функций и классов в Python
  22. Поиск подстроки в строке
  23. Функция divmod() в Python
  24. Python и Монти Пайтон
  25. Повторение и перенос строки
  26. Блок else в обработке исключений
  27. Импорт объектов из модулей
  28. Импорт в Python: список all
  29. Избегайте ошибку FileNotFoundError
  30. Манипуляция формой массива в Numpy
  31. Использование функции enumerate()
  32. split() — разделение строки
  33. Оператор in для Python
  34. Подписка на каналы разработчиков
  35. *args и **kwargs в Python
  36. Модуль xkcd: загрузка комиксов
  37. Область видимости переменных в Python
  38. Функция all() в Python
  39. Работа с collections.Counter
  40. Оптимизация памяти с __slots__
  41. Настройка вывода в Numpy
  42. Defaultdict в Python
  43. Анонимные функции в Python
  44. Метод count() для списков
  45. Объединение словарей в Python

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