Полное пошаговое руководство по Python unittest

Модульное тестирование

Модульное тестирование - это базовый прогон вашего кода. Это не QA. Таким способом вы подтверждаете, что написали качественный код, а не то, что сломается, как только кто-то попытается его использовать.

Зачем тестировать?

Недавно на стартапе мне нужно было написать код библиотеки для коллеги, я дал ему код библиотеки со скриптом модульного тестирования.

Каждый раз, когда он жаловался, модульный тест сэкономил мне время, чтобы проверить себя на наличие ошибок в его коде. Поскольку мой действительно работал, это экономит много времени, а время - ваш самый ценный актив.

Модульное тестирование - важный аспект разработки . Как узнать, работает ли он без первых запусков кода? Поскольку модульное тестирование часто бывает быстрым и коротким, правильно управляя модульным тестированием, вы можете увидеть, сломали ли вы старый код или чужой код!

Предоставить примеры того, как использовать ваш код, будет легко, так как он у вас уже есть!

Неправильный и распространенный способ

Давайте начнем с демонстрации неправильного и традиционного метода. Вот простой объект класса:

Как видите, этот класс мало что делает. Требуется число и мощность этого числа на заданном входе. Итак, что может сделать стандартный разработчик, чтобы проверить этот код?

Этот метод кажется неправильным; вот несколько основных причин.

  • Это неустойчиво - небольшие тесты разбросаны по множеству файлов, без возможности отслеживать или даже повторно использовать тесты.
  • Это беспорядочно и добавляет в нашу программу блоки неиспользуемого кода.
  • Он гарантирует, что модульное тестирование будет проводиться только один раз и не будет проверяться в каждой новой выпускаемой версии.

И вы можете сказать - он может удалить его, но тогда вся его работа по модульному тестированию была напрасной, и вы не сможете повторно использовать его для каждой версии, чтобы улучшить свой будущий код или предоставить фрагменты своей работы для другие пользователи.

Правильный путь

Существует множество модулей тестирования python, и вы можете привести веские аргументы в пользу многих из них. Мне нравится python unittest по многим причинам, его простой, быстрый , эффективный и в стандартной библиотеке!

Сделай так, чтоб это работало!

  • Класс тестирования должен наследовать от unittest.TestCase.
  • Каждая тестовая функция должна запускаться в test_
  • unittest.main () - это функция, которая запускается для проверки результатов.

Три маленьких правила, и у вас есть хороший юнит-тест Easy, не так ли?

Варианты

Есть больше, чем утверждать равное. Вы можете проверить все, что захотите, от чисел до типов, создание правильных исключений, все, что вы можете себе представить, и все это в простом стандартном библиотечном модуле, который поддерживается командой разработчиков Python.

Последние мысли

Модульное тестирование - важный инструмент для каждого разработчика, и модульное тестирование Python - отличный модуль для этого.

Правильное модульное тестирование во многих отношениях сэкономит вам время, включая будущие ошибки, взлом кода коллег, или даже в виде отличного фрагмента, который показывает другим, как они могут использовать вашу систему, и таким образом увеличивает шансы на то, что программы, которые вы пишете практичны и полезны.

Если вам нравятся эти статьи, прокомментируйте, чтобы узнать больше о стандартной библиотеке Python, прокомментируйте, пожалуйста, интересующую вас тему, и я напишу об этом.

Надеюсь, вам понравилось!