Fixtures

Скріншот програми:
Fixtures
Дані програми:
Версія: 0.3.14
Дата завантаження: 14 Apr 15
Розробник: Robert Collins
Ліцензія: Безкоштовно
Популярність: 75

Rating: 5.0/5 (Total Votes: 2)

Світильники є інструментом, який визначає контракт Python для багаторазового використання логічного стану / підтримки, в першу чергу для NBSP модульного тестування та ,. Помічник і логіка адаптація включені, щоб зробити його легко написати свої власні приладів за допомогою договору світильників. Клей код за умови, що робить використання світильників, які відповідають контракт Світильники в UnitTest сумісних тестів легко і прямо вперед.
Чому Світильники
Стандартний Python unittest.py не дає наочний спосіб для створення та повторного використання стан, необхідний в тестовому випадку, окрім, додавши метод на тестовому класі. Це погано масштабується - комплексні допоміжні функції propogating ієрархію тестового класу закономірність, коли це буде зроблено. Дражливий в той час як відмінний інструмент сам по собі не допустити цього (і помічники знущатися складні речі можуть накопичуватися таким же чином, якщо їх помістити на тестовому класі).
Визначаючи рівномірний договір, де помічники не мають залежність від тестового класу ми дозволимо всі регулярні заходи код гігієни відбудеться без спотворює впливу будучи в ієрархії класів, що є моделювання зовсім інша справа - що таке помічники на TestCase страждати від.
Про Світильники
Світильник представляє якийсь стан. Кожен прилад має атрибути на ньому, які є специфічними для приладу. Наприклад, пристосування, що представляє каталог, який може бути використаний для тимчасових файлів може мати атрибут 'шлях'.
Створення Світильники
Як мінімум, підклас світильники, визначити налаштування, щоб ініціалізувати стан і графік очищення для того, коли Очищення називається, і все готово:
>>> Імпорту UnitTest
>>> Імпортні світильники
>>> Класу NoddyFixture (fixtures.Fixture):
... Def Setup (само):
... Супер (NoddyFixture, Я) .setUp ()
... Self.frobnozzle = 42
... Self.addCleanup (delattr, сам, "frobnozzle ')
Це буде ініціалізувати frobnozzle, коли програма установки називається, і коли Очищення називається позбутися frobnozzle атрибута.
Існує помічником для адаптації пару функцій або функцій в світильники. це поміщає результат функції в fn_result:
>>> Імпорту os.path
>>> Імпорту shutil
>>> Імпорту тимчасових файлів
>>> Def setup_function ():
... Повернутися tempfile.mkdtemp ()
>>> Def teardown_function (пристосування):
... Shutil.rmtree (пристосування)
>>> Пристосування = fixtures.FunctionFixture (setup_function, teardown_function)
>>> Fixture.setUp ()
>>> Печатки os.path.isdir (fixture.fn_result)
Вірно
>>> Fixture.cleanUp ()
Світильник API
Наведений вище приклад вводить деякі з Світильник API. Для того щоб мати можливість прибирати за кріплення був використаний, всі світильники визначити метод очищення, який повинен бути викликаний, коли пристосування закінчується.
Тому що його добре, щоб бути в змозі побудувати певний набір взаємопов'язаних світильників заздалегідь, використовуючи їх, світильники також визначити метод установки, яка повинна бути викликана перед тим як використовувати їх.
Один з поширених бажання з обробкою, які дорого створювати, щоб використовувати їх у багатьох випадках випробувань; для підтримки цього база Світильник також визначає скидання, який викликає self.cleanUp (); self.setUp (). Світильники, які можуть більш ефективно зробити самі багаторазові повинні перевизначити цей метод. Це може бути використаний з декількома Державні випробування за допомогою таких речей, як testresources, setUpClass або setUpModule.
При використанні світильника з тесту ви можете вручну викликати установку і очистку методи. Більш зручним, хоча це використовувати додається клей від fixtures.TestWithFixtures, що передбачають змішування, що визначає useFixture (верблюд випадку, тому що UnitTest є верблюд місце усюди) метод. Це викличе установки на арматурі, зателефонуйте self.addCleanup (пристосуванню), щоб запланувати очистку, і повернути прилад. Це дозволяє один запис:
>>> Імпортні testtools
>>> Імпорту UnitTest
Зверніть увагу, що ми використовуємо testtools тестовий тут, як ми повинні гарантувати метод TestCase.addCleanup.
І NBSP; >>> класу NoddyTest (testtools.TestCase, fixtures.TestWithFixtures):
І NBSP; ... Def test_example (само):
І NBSP; ... Світильник = self.useFixture (NoddyFixture ())
І NBSP; ... self.assertEqual (42, fixture.frobnozzle)
І NBSP; >>> результат = unittest.TestResult ()
І NBSP ;. >>> _ = NoddyTest ('test_example') Run (результат)
І NBSP; >>> друку result.wasSuccessful ()
І NBSP; Правда
Світильники реалізації протоколу контекстне, так що ви можете також використовувати прилад як менеджера контексту:
>>> З fixtures.FunctionFixture (setup_function, teardown_function) як світильника:
... Друк os.path.isdir (fixture.fn_result)
True

Вимоги

  • Python

Схожі програми

Peon
Peon

20 Feb 15

fakeldap
fakeldap

11 May 15

tdaemon
tdaemon

11 May 15

Інші програми розробника Robert Collins

Fixtures

Коментар не знайдено
додати коментар
Включіть картинки!