Учебное пособие по PyUnit:среда модульного тестирования Python (с примером)
Что такое модульное тестирование?
Модульное тестирование в Python проводится для выявления ошибок на ранней стадии разработки приложения, когда ошибки реже повторяются и их исправление обходится дешевле.
Модульный тест — это скриптовый тест на уровне кода, разработанный на Python для проверки небольшой «единицы» функциональности. Модульный тест — это объектно-ориентированная структура, основанная на тестовых приборах.
Методы модульного тестирования Python
Модульное тестирование Python в основном включает тестирование определенного модуля без доступа к какому-либо зависимому коду. Разработчики могут использовать такие методы, как заглушки и макеты, чтобы разделить код на «модули» и выполнить тестирование на уровне модулей для отдельных частей.
- Разработка через тестирование TDD: Модульное тестирование должно выполняться вместе с Python, и для этого разработчики используют метод разработки через тестирование. В методе TDD вы сначала разрабатываете модульные тесты Python, и только затем вы продолжаете писать код, который будет реализовывать эту функцию.
- Заглушки и имитации: Это два основных метода, которые имитируют поддельные методы, которые тестируются. Заглушка используется для заполнения некоторой зависимости, необходимой для правильной работы модульного теста. Имитация с другой стороны, это поддельный объект, который запускает тесты, в которые мы помещаем assert.
Намерения обоих методов одинаковы, чтобы исключить тестирование всех зависимостей класса или функции.
Среда модульного тестирования Python
Чтобы упростить процесс модульного тестирования и улучшить качество вашего проекта, рекомендуется Python Unit Testing Framework. Платформа модульного тестирования включает
- PyUnit: PyUnit поддерживает фикстуры, тестовые примеры, наборы тестов и средство запуска тестов для автоматического тестирования кода. В PyUnit вы можете объединять тестовые наборы в наборы с одинаковыми приборами.
- Нос: Встроенные плагины Nose помогают вам с захватом вывода, покрытием кода, doctests и т. д. Синтаксис Nose довольно прост и снижает барьеры для написания тестов. Он расширяет модульный тест Python, чтобы упростить тестирование.
- Доктест: Скрипт тестирования Doctest находится в строке документации с небольшой функцией внизу файла. Doctest позволяет протестировать код, запустив примеры, включенные в документацию, и убедиться, что они дали ожидаемые результаты. Вариант использования doctest менее детализирован и не охватывает особые случаи. Они полезны в качестве выразительной документации основного варианта использования модуля и его компонентов.
Модульное тестирование с помощью PyUnit
Pyunit — это порт Python для JUnit. В составе Pyunit в модуле unittest есть пять ключевых классов.
- Класс TestCase :класс TestCase содержит процедуры тестирования и предоставляет крючки для создания каждой процедуры и последующей очистки.
- Класс TestSuite :он служит контейнером для сбора и может содержать несколько объектов тестовых наборов и несколько объектов тестовых наборов.
- Класс TestLoader :этот класс загружает тестовые случаи и наборы, определенные локально или из внешнего файла. Он выдает объекты testsuite, которые содержат эти наборы и кейсы
- Класс TextTestRunner :для запуска тестов используется стандартная платформа для выполнения тестов.
- Класс TestResults :предлагает стандартный контейнер для результатов теста.
Разработка тестового примера для тестирования Python с использованием PyUnit
Модульный тест предоставляет базовый класс, тестовый пример, который можно использовать для создания новых тестовых случаев. Для разработки тестового примера используются три набора методов:
unittest.TestCase
setUp() teardown() skipTest(aMesg:string) fail(aMesg:string) id():string shortDescription():string
В первом наборе находятся крючки до и после тестирования. Метод setup() начинается перед каждой процедурой тестирования, а метод teardown() — после процедуры.
Второй набор методов управляет выполнением теста. Оба метода принимают строку сообщения в качестве входных данных и оба отменяют текущий тест. Но метод skiptest() прерывает текущий тест, а метод fail() полностью проваливает его.
Последний или третий метод помогает определить тест. Метод id() возвращает строку, состоящую из имени тестового объекта и тестовой процедуры. А метод shortDescription() возвращает комментарий docstr при запуске каждой процедуры тестирования.
Преимущества модульного тестирования Python
- Помогает обнаруживать ошибки на ранних этапах цикла разработки.
- Это поможет вам писать более качественные программы
- Он легко синхронизируется с другими методами и инструментами тестирования.
- Ошибок будет намного меньше.
- Легче изменить в будущем с меньшими последствиями.
Python
- Учебное пособие по абстрактному классу C # с примером:что такое абстракция?
- Учебное пособие по платформе автоматизации тестирования закодированного пользовательского интерфейса
- Функция Python String strip() с ПРИМЕРОМ
- Количество строк Python() с ПРИМЕРАМИ
- Функция Python round() с ПРИМЕРАМИ
- Функция Python map() с ПРИМЕРАМИ
- Python Timeit() с примерами
- Учебное пособие по доходности в Python:генератор и пример доходности и возврата
- Счетчик Python в коллекциях с примером
- Индекс списка Python() с примером