Fixtures

Software kuvakaappaus:
Fixtures
Ohjelmiston tiedot:
Versio: 0.3.14
Lähetyksen päivämäärä: 14 Apr 15
Kehittäjä: Robert Collins
Lupa: Vapaa
Suosio: 75

Rating: 5.0/5 (Total Votes: 2)

Otteluohjelma on työkalu, joka määrittelee Python sopimuksen uudelleenkäytettäviä valtion / tukilogiikan ensisijaisesti yksikkötestauksen. & Nbsp; Auttaja ja sopeutuminen logiikka on mukana, jotta se on helppo kirjoittaa oman laitteita käyttämällä kalusteet sopimuksen. Liimaa koodin että tekee käytöstä kalusteet täyttävät Otteluohjelma sopimuksen unittest yhteensopiva testitapaukset helppoa ja suoraviivaista.
Miksi Otteluohjelma
Standard Python unittest.py anna mitään selvää Menetelmä ja uudelleen valtion tarvitaan koetinkivi muuta kuin lisäämällä menetelmällä testiluokka. Asteikot huonosti - monimutkainen auttajatoiminnot lisäysaineiston ylös testiluokka hierarkia on säännöllinen kuvio, kun tämä on tehty. Pilkaten samalla loistava työkalu ei sinänsä estä tätä (ja auttajia pilkata monimutkaisia ​​asioita voi kertyä samalla tavalla, jos saatetaan testiluokka).
Määrittelemällä yhtenäinen sopimus, jossa auttajia ole riippuvuutta testiluokka sallimme kaikki säännölliset koodi hygienia toiminta tapahtuu ilman vääristäviä vaikutuksen ollessa luokkahierarkia joka mallintaa täysin eri asia - joka on mitä auttajia on testcase kärsiä.
Tietoja Otteluohjelma
Asetelman edustaa joitakin valtion. Jokainen valaisin on attribuutteja sitä, jotka ovat ominaisia ​​telineeseen. Esimerkiksi valaisin edustaa hakemistoon, joka voidaan käyttää väliaikaisia ​​tiedostoja saattaa olla määrite "polku".
Luominen Otteluohjelma
Minimaalisesti, alaluokka Asetelman, määritellä Setup alustaa oman valtion ja ajoittaa uudelleenjärjestäminen kun uudelleenjärjestäminen on kutsuttu ja olet valmis:
>>> Tuonti unittest
>>> Tuonti kalusteet
>>> Luokan NoddyFixture (fixtures.Fixture):
... Def Setup (itse):
... Super (NoddyFixture, itse) .setUp ()
... Self.frobnozzle = 42
... Self.addCleanup (delattr, itse, "frobnozzle ')
Tämä alustaa frobnozzle Kun asennus on nimeltään, ja kun uudelleenjärjestäminen kutsutaan eroon frobnozzle määrite.
On auttaja mukauttamisesta toiminnon tai funktion pari osaksi Otteluohjelma. se asettaa tulos funktion fn_result:
>>> Tuonti os.path
>>> Tuonti shutil
>>> Tuonti tempfile
>>> Def setup_function ():
... Palaa tempfile.mkdtemp ()
>>> Def teardown_function (valaisin):
... Shutil.rmtree (valaisin)
>>> Telineeseen = fixtures.FunctionFixture (setup_function, teardown_function)
>>> Fixture.setUp ()
>>> Print os.path.isdir (fixture.fn_result)
Totta
>>> Fixture.cleanUp ()
Asetelman API
Esimerkiksi edellä esittelee joitakin Asetelman API. Jotta pystyy siivoamaan telineeseen on käytetty, kaikki kalusteet määritellä uudelleenjärjestäminen menetelmä, joka pitäisi kutsua, kun valaisin on valmis.
Koska se kiva pystyä rakentamaan tietyn joukon liittyvien kalusteet etukäteen käyttää niitä, kalusteet on myös määriteltävä setup menetelmä, jota olisi kutsuttu ennen kuin yrität käyttää niitä.
Yksi yhteinen halu kanssa kiinnikkeet, jotka ovat kalliita luoda on käyttämättä niitä monissa testitapaukset; tukemaan tätä pohja Asetelman määrittelee myös reset joka kutsuu self.cleanUp (); self.setUp (). Valaisimet, jotka voivat tehokkaammin tehdä itse uudelleenkäytettäviä pitäisi ohittaa tätä menetelmää. Tätä voidaan sitten käyttää useita testi valtion kautta asioita, kuten testresources, setUpClass tai setUpModule.
Käytettäessä valaisin testi manuaalisesti soittaa Setup ja puhdistusmenetelmät. Helpompaa kuitenkin on käyttää mukana liimaa fixtures.TestWithFixtures joka tarjoaa Mixin määritellään useFixture (kameli tapauksessa, koska unittest on kamelin tapauksessa koko) menetelmällä. Se soittaa Setup ottelua, soita self.addCleanup (valaisin) ajoittaa siivous, ja palauttaa telineeseen. Tämä mahdollistaa yhden kirjoittaa:
>>> Tuonti testtools
>>> Tuonti unittest
Huomaa, että käytämme testtools TestCase täällä meidän taata TestCase.addCleanup menetelmällä.
& Nbsp; >>> luokan NoddyTest (testtools.TestCase, fixtures.TestWithFixtures):
& Nbsp; ... def test_example (itse):
& Nbsp; ... telineeseen = self.useFixture (NoddyFixture ())
& Nbsp; ... self.assertEqual (42, fixture.frobnozzle)
& Nbsp; >>> tulos = unittest.TestResult ()
& Nbsp; >>> _ = NoddyTest ('test_example'). Run (tulos)
& Nbsp; >>> tulostaa result.wasSuccessful ()
& Nbsp; True
Valaisimet täytäntöön yhteydessä protokollan, joten voit myös käyttää telineeseen kuin tilanteessa johtaja:
>>> Kanssa fixtures.FunctionFixture (setup_function, teardown_function) kuin telineeseen:
... Print os.path.isdir (fixture.fn_result)
True

Vaatimukset :

  • Python

Vastaavia ohjelmistoja

Muu ohjelmistojen kehittäjä Robert Collins

Kommentit Fixtures

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!