Fixtures

Screenshot Software:
Fixtures
Detalii soft:
Versiune: 0.3.14
Incarca data: 14 Apr 15
Producător: Robert Collins
Licenţă: Gratuit
Popularitate: 17

Rating: 5.0/5 (Total Votes: 1)

Programe este un instrument care definește un contract de Python pentru logica de stat / de sprijin reutilizabile, în primul rând pentru unitate de testare. & Nbsp; Helper logica si adaptarea este inclus pentru a face mai ușor de a scrie propriile corpuri, folosind contractul program. Codul Adeziv se prevede că face folosind program care îndeplinesc ușor și drept înainte contractului Programe în unittest cazuri de testare compatibile.
De ce Meciuri
Standard Python unittest.py prevede nici o metodă evidentă pentru a face și reutilizarea necesar într-un caz de încercare decât prin adăugarea unui metodă pe clasa de test de stat. Această cântare prost - funcții complexe helper răsadurilor o ierarhie de clasă de test este un model obișnuit, atunci când se face acest lucru. Batjocoritor în timp ce un instrument de mare nu se împiedica acest lucru (și ajutoare pentru batjocorească lucruri complexe pot acumula în același mod dacă sunt introduse pe clasa de test).
Prin definirea unui contract de uniformă în cazul în care ajutoarele nu au nici o dependență pe clasa de test am permite tuturor activităților obișnuite cod de igienă să aibă loc fără influența denatura de a fi într-o ierarhie de clasă care se modelează un lucru cu totul diferit - care este ceea ce ajutoare pe un testcase suferi de.
Despre Program
Un Meci reprezintă o stare. Fiecare accesoriu are atribute pe el, care sunt specifice pentru dispozitivul de fixare. De exemplu, un dispozitiv care reprezintă un director care poate fi folosit pentru fișiere temporare ar putea avea un atribut "cale".
Crearea Program
Minim, subclasă Meci, defini Setup pentru a inițializa starea ta și programa o curățare pentru când cleanUp se numește și ați terminat:
>>> Unittest import
>>> Corpuri de import
>>> NoddyFixture clasă (fixtures.Fixture):
... Def setup (auto):
... Super (NoddyFixture, auto) .setUp ()
... Self.frobnozzle = 42
... Self.addCleanup (delattr, sine, "frobnozzle")
Acest lucru va inițializa frobnozzle când setarea este chemat, iar când cleanUp este numit scăpa de atributul frobnozzle.
Există un ajutor pentru adaptarea o pereche funcție sau o funcție în Program. se pune rezultatul funcției în fn_result:
>>> Os.path import
>>> Shutil import
>>> Tempfile import
>>> Def setup_function ():
... A reveni tempfile.mkdtemp ()
>>> Def teardown_function (de prindere):
... Shutil.rmtree (de prindere)
>>> Fixare = fixtures.FunctionFixture (setup_function, teardown_function)
>>> Fixture.setUp ()
>>> Os.path.isdir imprimare (fixture.fn_result)
Adevărat
>>> Fixture.cleanUp ()
Meci API
Exemplul de mai sus prezintă o parte din API fixare. Pentru a fi în măsură să curețe după un dispozitiv a fost folosit, toate echipamentele defini o metodă cleanUp care ar trebui să fie numit atunci când un dispozitiv este terminat cu.
Deoarece frumos de a fi capabili de a construi un anumit set de corpuri de aferente înainte de a le utiliza, corpuri au, de asemenea, defini o metoda de configurare care ar trebui să fie numit înainte de a încerca să le folosească.
O dorință comună cu program, care sunt costisitoare pentru a crea este de a le refolosi în multe cazuri de testare; pentru a sprijini acest dispozitivul de fixare de bază definește, de asemenea, o resetare care solicită self.cleanUp (); self.setUp (). Programe care pot face mai eficient se reutilizabile ar trebui să suprascrie această metodă. Acest lucru poate fi apoi utilizat cu stare de încercare multiple prin lucruri, cum ar fi testresources, setUpClass, sau setUpModule.
Când se utilizează un dispozitiv cu un test de puteți apela manual Setup și Cleanup metode. Mai convenabil, deși este de a utiliza lipiciul inclus de fixtures.TestWithFixtures care oferă o mixin definire useFixture (caz cămilă deoarece unittest este cazul cămilă de-a lungul) metodă. Se va apela Setup pe dispozitivul de fixare, apelați self.addCleanup (de prindere) pentru a programa o curățare, și să se întoarcă de fixare. Acest lucru permite o scrie:
>>> testtools de import
>>> Unittest import
Notă pe care le folosim testtools testcase aici ca avem nevoie pentru a garanta o metodă TestCase.addCleanup.
& Nbsp; >>> clasă NoddyTest (testtools.TestCase, fixtures.TestWithFixtures):
& Nbsp; ... def test_example (auto):
& Nbsp; ... de fixare = self.useFixture (NoddyFixture ())
& Nbsp; ... self.assertEqual (42, fixture.frobnozzle)
& Nbsp; >>> rezultat = unittest.TestResult ()
& Nbsp;. >>> _ = NoddyTest ('test_example ") intră (rezultat)
& Nbsp; >>> imprima result.wasSuccessful ()
& Nbsp; Adevărat
Programe pună în aplicare protocolul de context, astfel încât să puteți utiliza, de asemenea, un dispozitiv ca un manager de context:
>>> Cu fixtures.FunctionFixture (setup_function, teardown_function) cum fixare:
... Os.path.isdir imprimare (fixture.fn_result)
Adevărat

Cerințe :

  • Python

Software similare

Clamity
Clamity

12 May 15

dfuzz
dfuzz

12 May 15

AceUnit
AceUnit

2 Jun 15

Alte software-uri de dezvoltator Robert Collins

Comentarii la Fixtures

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!