Полное пошаговое руководство по Python unittest
Модульное тестирование
Модульное тестирование - это базовый прогон вашего кода. Это не QA. Таким способом вы подтверждаете, что написали качественный код, а не то, что сломается, как только кто-то попытается его использовать.
Зачем тестировать?
Недавно на стартапе мне нужно было написать код библиотеки для коллеги, я дал ему код библиотеки со скриптом модульного тестирования.
Каждый раз, когда он жаловался, модульный тест сэкономил мне время, чтобы проверить себя на наличие ошибок в его коде. Поскольку мой действительно работал, это экономит много времени, а время - ваш самый ценный актив.
Модульное тестирование - важный аспект разработки . Как узнать, работает ли он без первых запусков кода? Поскольку модульное тестирование часто бывает быстрым и коротким, правильно управляя модульным тестированием, вы можете увидеть, сломали ли вы старый код или чужой код!
Предоставить примеры того, как использовать ваш код, будет легко, так как он у вас уже есть!
Неправильный и распространенный способ
Давайте начнем с демонстрации неправильного и традиционного метода. Вот простой объект класса:
Как видите, этот класс мало что делает. Требуется число и мощность этого числа на заданном входе. Итак, что может сделать стандартный разработчик, чтобы проверить этот код?
Этот метод кажется неправильным; вот несколько основных причин.
- Это неустойчиво - небольшие тесты разбросаны по множеству файлов, без возможности отслеживать или даже повторно использовать тесты.
- Это беспорядочно и добавляет в нашу программу блоки неиспользуемого кода.
- Он гарантирует, что модульное тестирование будет проводиться только один раз и не будет проверяться в каждой новой выпускаемой версии.
И вы можете сказать - он может удалить его, но тогда вся его работа по модульному тестированию была напрасной, и вы не сможете повторно использовать его для каждой версии, чтобы улучшить свой будущий код или предоставить фрагменты своей работы для другие пользователи.
Правильный путь
Существует множество модулей тестирования python, и вы можете привести веские аргументы в пользу многих из них. Мне нравится python unittest по многим причинам, его простой, быстрый , эффективный и в стандартной библиотеке!
Сделай так, чтоб это работало!
- Класс тестирования должен наследовать от unittest.TestCase.
- Каждая тестовая функция должна запускаться в test_
- unittest.main () - это функция, которая запускается для проверки результатов.
Три маленьких правила, и у вас есть хороший юнит-тест Easy, не так ли?
Варианты
Есть больше, чем утверждать равное. Вы можете проверить все, что захотите, от чисел до типов, создание правильных исключений, все, что вы можете себе представить, и все это в простом стандартном библиотечном модуле, который поддерживается командой разработчиков Python.
Последние мысли
Модульное тестирование - важный инструмент для каждого разработчика, и модульное тестирование Python - отличный модуль для этого.
Правильное модульное тестирование во многих отношениях сэкономит вам время, включая будущие ошибки, взлом кода коллег, или даже в виде отличного фрагмента, который показывает другим, как они могут использовать вашу систему, и таким образом увеличивает шансы на то, что программы, которые вы пишете практичны и полезны.
Если вам нравятся эти статьи, прокомментируйте, чтобы узнать больше о стандартной библиотеке Python, прокомментируйте, пожалуйста, интересующую вас тему, и я напишу об этом.
Надеюсь, вам понравилось!