Учебник по PyUnit: Python Платформа модульного тестирования (с примером)

Что такое модульное тестирование?

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

Модульный тест — это скриптовый тест на уровне кода, разработанный в Python для проверки небольшой «единицы» функциональности. Модульное тестирование — это объектно-ориентированная среда, основанная на тестовых приспособлениях.

Python Методы модульного тестирования

Python Модульное тестирование в основном включает в себя тестирование конкретного модуля без доступа к какому-либо зависимому коду. Разработчики могут использовать такие методы, как заглушки и макеты, для разделения кода на «модули» и запуска тестирования на уровне модулей для отдельных частей.

  • TDD для разработки через тестирование: Модульное тестирование должно проводиться вместе с Python, и для этого разработчики используют метод разработки через тестирование. В методе TDD вы сначала проектируете Python Модульные тесты, и только потом вы продолжаете писать код, реализующий эту функцию.
  • Заглушки и моки: Это два основных метода, которые имитируют тестируемые поддельные методы. А Пень используется для заполнения некоторой зависимости, необходимой для правильного запуска модульного теста. А издеваться с другой стороны, это поддельный объект, который запускает тесты, в которые мы помещаем утверждение.

    Намерения обоих методов одинаковы: исключить тестирование всех зависимостей класса или функции.

Python Платформа модульного тестирования

Чтобы упростить процесс модульного тестирования и улучшить качество вашего проекта, рекомендуется Python Фреймворк модульного тестирования. Структура модульного тестирования включает в себя

Python Методы модульного тестирования

  • ПиЮнит: PyUnit поддерживает приспособления, тестовые примеры, наборы тестов и средство запуска тестов для автоматического тестирования кода. В PyUnit вы можете организовывать тестовые примеры в наборы с одинаковыми фикстурами.
  • Нос: Встроенные плагины Nose помогают вам захватывать выходные данные, покрытие кода, документацию и т. д. Синтаксис Nose довольно прост и снижает барьеры при написании тестов. Он расширяет Python unittest, чтобы упростить тестирование.
  • Доктест: Скрипт тестирования Doctest находится в строке документации с небольшой функцией в конце файла. Doctest позволяет вам протестировать ваш код, запустив примеры, включенные в документацию, и проверив, что они вернули ожидаемые результаты. Вариант использования doctest менее подробен и не охватывает особых случаев. Они полезны в качестве выразительной документации основного варианта использования модуля и его компонентов.

Модульное тестирование с помощью PyUnit

Пюнит – это Python порт JUnit. В составе Pyunit модуль unittest содержит пять ключевых классов.

Модульное тестирование с помощью PyUnit

  • TestCase класс: Класс TestCase содержит процедуры тестирования и предоставляет перехватчики для создания каждой процедуры и последующей очистки.
  • Класс TestSuite: он выступает в качестве контейнера сбора и может содержать несколько объектов тестовых наборов и несколько объектов тестовых наборов.
  • Класс TestLoader: этот класс загружает тестовые примеры и наборы, определенные локально или из внешнего файла. Он генерирует объекты тестового набора, которые содержат эти наборы и случаи.
  • Класс TextTestRunner: Для запуска тестов предусмотрена стандартная платформа для выполнения тестов.
  • Класс ТестРезультатс: Предлагает стандартный контейнер для результатов испытаний.

Разработка тестового примера для Python Тестирование с использованием PyUnit

Модульный тест предоставляет базовый класс — тестовый пример, который можно использовать для создания новых тестовых примеров. Для разработки тестового примера используются три набора методов:

Разработка тестового примера для Python

unittest.TestCase

setUp()
teardown()

skipTest(aMesg:string)
fail(aMesg:string)

id():string
shortDescription():string

В первый набор входят крючки для предварительного и последующего тестирования. Метод setup() начинается перед каждой процедурой тестирования, а метод Teardown() — после процедуры.

Второй набор методов контролирует выполнение теста. Оба метода принимают на вход строку сообщения и оба отменяют текущий тест. Но метод Skiptest() прерывает текущий тест, а методfail() полностью его завершает.

Последний или третий метод помогает определить тест. Метод id() возвращает строку, состоящую из имени объекта тестового набора и тестовой процедуры. И метод короткийDescription() возвращает комментарий docstr при запуске каждой процедуры тестирования.

Преимущества использования Python Модульное тестирование

  • Это поможет вам обнаружить ошибки на ранних этапах цикла разработки.
  • Это поможет вам писать лучшие программы.
  • Он легко синхронизируется с другими методами и инструментами тестирования.
  • Там будет намного меньше ошибок
  • В будущем легче внести изменения с меньшими последствиями.

Подведем итог этой публикации следующим образом: