Учебник по PyUnit: Python Платформа модульного тестирования (с примером)
Что такое модульное тестирование?
Модульное тестирование in Python делается для выявления ошибок на ранней стадии разработки приложения, когда ошибки менее повторяются и их исправление обходится дешевле.
Модульный тест — это скриптовый тест на уровне кода, разработанный в Python для проверки небольшой «единицы» функциональности. Модульное тестирование — это объектно-ориентированная среда, основанная на тестовых приспособлениях.
Python Методы модульного тестирования
Python Модульное тестирование в основном включает в себя тестирование конкретного модуля без доступа к какому-либо зависимому коду. Разработчики могут использовать такие методы, как заглушки и макеты, для разделения кода на «модули» и запуска тестирования на уровне модулей для отдельных частей.
- TDD для разработки через тестирование: Модульное тестирование должно проводиться вместе с Python, и для этого разработчики используют метод разработки через тестирование. В методе TDD вы сначала проектируете Python Модульные тесты, и только потом вы продолжаете писать код, реализующий эту функцию.
-
Заглушки и моки: Это два основных метода, которые имитируют тестируемые поддельные методы. А Пень используется для заполнения некоторой зависимости, необходимой для правильного запуска модульного теста. А издеваться с другой стороны, это поддельный объект, который запускает тесты, в которые мы помещаем утверждение.
Намерения обоих методов одинаковы: исключить тестирование всех зависимостей класса или функции.
Python Платформа модульного тестирования
Чтобы упростить процесс модульного тестирования и улучшить качество вашего проекта, рекомендуется Python Фреймворк модульного тестирования. Структура модульного тестирования включает в себя
-
ПиЮнит: PyUnit поддерживает приспособления, тестовые примеры, наборы тестов и средство запуска тестов для автоматического тестирования кода. В PyUnit вы можете организовывать тестовые примеры в наборы с одинаковыми фикстурами.
-
Нос: Встроенные плагины Nose помогают вам захватывать выходные данные, покрытие кода, документацию и т. д. Синтаксис Nose довольно прост и снижает барьеры при написании тестов. Он расширяет Python unittest, чтобы упростить тестирование.
- Доктест: Скрипт тестирования Doctest находится в строке документации с небольшой функцией в конце файла. Doctest позволяет вам протестировать ваш код, запустив примеры, включенные в документацию, и проверив, что они вернули ожидаемые результаты. Вариант использования doctest менее подробен и не охватывает особых случаев. Они полезны в качестве выразительной документации основного варианта использования модуля и его компонентов.
Модульное тестирование с помощью PyUnit
Пюнит – это Python порт JUnit. В составе Pyunit модуль unittest содержит пять ключевых классов.
- TestCase класс: Класс TestCase содержит процедуры тестирования и предоставляет перехватчики для создания каждой процедуры и последующей очистки.
- Класс TestSuite: он выступает в качестве контейнера сбора и может содержать несколько объектов тестовых наборов и несколько объектов тестовых наборов.
- Класс TestLoader: этот класс загружает тестовые примеры и наборы, определенные локально или из внешнего файла. Он генерирует объекты тестового набора, которые содержат эти наборы и случаи.
- Класс TextTestRunner: Для запуска тестов предусмотрена стандартная платформа для выполнения тестов.
- Класс ТестРезультатс: Предлагает стандартный контейнер для результатов испытаний.
Разработка тестового примера для Python Тестирование с использованием PyUnit
Модульный тест предоставляет базовый класс — тестовый пример, который можно использовать для создания новых тестовых примеров. Для разработки тестового примера используются три набора методов:
unittest.TestCase
setUp() teardown() skipTest(aMesg:string) fail(aMesg:string) id():string shortDescription():string
В первый набор входят крючки для предварительного и последующего тестирования. Метод setup() начинается перед каждой процедурой тестирования, а метод Teardown() — после процедуры.
Второй набор методов контролирует выполнение теста. Оба метода принимают на вход строку сообщения и оба отменяют текущий тест. Но метод Skiptest() прерывает текущий тест, а методfail() полностью его завершает.
Последний или третий метод помогает определить тест. Метод id() возвращает строку, состоящую из имени объекта тестового набора и тестовой процедуры. И метод короткийDescription() возвращает комментарий docstr при запуске каждой процедуры тестирования.
Преимущества использования Python Модульное тестирование
- Это поможет вам обнаружить ошибки на ранних этапах цикла разработки.
- Это поможет вам писать лучшие программы.
- Он легко синхронизируется с другими методами и инструментами тестирования.
- Там будет намного меньше ошибок
- В будущем легче внести изменения с меньшими последствиями.



