Fixtures

Софтуер снимки:
Fixtures
Софтуер детайли:
Версия: 0.3.14
Дата на качване: 14 Apr 15
Розробник: Robert Collins
Разрешително: Безплатно
Популярност: 75

Rating: 5.0/5 (Total Votes: 2)

Осветителни тела е инструмент, който определя договор Python за многократна употреба състояние / подкрепа логика, предимно за единица тестване & Nbsp;. Helper и адаптация логика е включен за да направи лесно да пишат свои собствени тела, използващи договора тела. Лепило код е при условие, че го прави с помощта на тела, които отговарят на договора тела в unittest случаи съвместими тестови лесно и право напред.
<Силен> Защо Мачове
Standard Python unittest.py предвижда няма очевиден метод за вземане и повторно използване на държавна необходими в случай на изпитване, освен чрез добавяне на метод на клас тест. Това везни лошо - сложни помощни функции, посадъчен в йерархията тестов клас е общ модел, когато това се прави. Подигравателен, докато един чудесен инструмент не се предотврати това (и помощници, за да се подиграят сложни неща могат да се натрупват по същия начин, ако се пускат на клас тест).
Чрез определяне на единен договор, където помощници нямат никаква зависимост от класа тест можем да разреши всички редовни хигиенни код дейности да се осъществяват без нарушаване на влиянието, което им в йерархията клас, който се моделира съвсем друго - което е това, помощници на TestCase страдат от.
<Силни> За Мачове
A тяло представлява някаква държава. Всеки тела има качества за това, че са специфични за опора. Например, арматура, представляваща директория, която може да се използва за временни файлове може да има атрибут "пътека".
<Силни> Създаване Мачове
Минимално, подклас тяло, определи за настройка, за да нулирате вашата държава и насрочи почистване за когато Cleanup се нарича и сте готови:
>>> Внос unittest
>>> тела внос
>>> Клас NoddyFixture (fixtures.Fixture):
... Def Setup (самостоятелно):
... Супер (NoddyFixture, самостоятелно) .setUp ()
... Self.frobnozzle = 42
... Self.addCleanup (delattr, самостоятелно, "frobnozzle")
Това ще се инициализира frobnozzle когато Setup се нарича, и когато Cleanup се нарича да се отървете от frobnozzle атрибут.
Има помощник за адаптиране функция или функция двойка в тела. го слага в резултат на функцията в fn_result:
>>> Внос os.path
>>> Внос shutil
>>> Внос tempfile
>>> 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 което осигурява Mixin определяне useFixture (камила случай, защото unittest е камила случай в цялата) метод. Той ще призове за настройка на стенд, обадете self.addCleanup (тела) да насрочи за почистване, и да се върне на приспособлението. Това позволява на един запис:
>>> testtools внос
>>> Внос unittest
Имайте предвид, че ние използваме testtools TestCase тук, тъй като ние трябва да гарантираме метод 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") работи (резултат)
& Nbsp; >>> отпечатате result.wasSuccessful ()
& Nbsp; True
Осветителни тела изпълняват контекст протокол, така че можете да използвате и тела като контекст за управление на:
>>> С fixtures.FunctionFixture (setup_function, teardown_function) като арматура:
... Печат os.path.isdir (fixture.fn_result)
True

<силни> Изисквания :

  • Python

Подобен софтуер

buildbot-slave
buildbot-slave

14 Apr 15

PyUseCase
PyUseCase

11 May 15

Bazinga
Bazinga

11 May 15

Друг софтуер на разработчика Robert Collins

Коментари към Fixtures

Коментари не е намерена
добавите коментар
Включете на изображения!
Търсене по категория