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

Що таке модульне тестування?

Unit Testing in Python робиться для виявлення помилок на ранній стадії розробки програми, коли помилки менш повторюються та виправляти їх дешевше.

Модульний тест — це сценарний тест рівня коду, розроблений у Python щоб перевірити невелику «одиницю» функціональності. Модульне тестування — це об’єктно-орієнтована структура, заснована на тестових приладах.

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

Python Модульне тестування в основному передбачає тестування окремого модуля без доступу до будь-якого залежного коду. Розробники можуть використовувати такі методи, як заглушки та макети, щоб розділити код на «одиниці» та запустити тестування на рівні окремих частин.

  • Розробка на основі тестування TDD: Модульне тестування слід проводити разом із Python, і для цього розробники використовують метод Test-Driven Development. У методі TDD ви спочатку проектуєте Python Модульні тести, і лише потім ви продовжуєте писати код, який реалізує цю функцію.
  • Заглушки та глузування: Це дві основні техніки, які імітують підроблені методи, які тестуються. А Пень використовується для заповнення певної залежності, необхідної для правильного виконання модульного тесту. А Знущаються з іншого боку, це підроблений об’єкт, який запускає тести, де ми розміщуємо assert.

    Наміри обох методів однакові, щоб усунути тестування всіх залежностей класу або функції.

Python Модуль тестування

Щоб полегшити процес модульного тестування та покращити якість вашого проекту, рекомендується Python Модуль тестування. Структура модульного тестування включає

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

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

Модульне тестування за допомогою PyUnit

Пюніт — це а Python порту Росії JUnit. У складі Pyunit модуль unittest містить п'ять ключових класів.

Модульне тестування за допомогою PyUnit

  • Клас TestCase: клас TestCase містить підпрограми тестування та забезпечує підключення для створення кожної підпрограми та подальшого очищення
  • Клас TestSuite: він обслуговує як контейнер колекції, і він може містити кілька об’єктів testcase і кілька об’єктів testsuites
  • Клас TestLoader: Цей клас завантажує тестові випадки та набори, визначені локально або із зовнішнього файлу. Він випускає тестовий набір об’єктів, які містять ці набори та випадки
  • Клас TextTestRunner: Для виконання тестів він обслуговує стандартну платформу для виконання тестів
  • Клас TestResults: Він пропонує стандартний контейнер для результатів тесту

Проектування тестового прикладу для 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 Блок тестування

  • Це допомагає вам виявляти помилки на ранніх етапах циклу розробки
  • Це допомагає вам писати кращі програми
  • Він легко синхронізується з іншими методами та інструментами тестування
  • У ньому буде набагато менше помилок
  • Це легше змінити в майбутньому з дуже меншими наслідками

Щоденний інформаційний бюлетень Guru99

Розпочніть свій день з останніх та найважливіших новин про штучний інтелект, які ви можете знайти просто зараз.