tl.testing

Software kuvakaappaus:
tl.testing
Ohjelmiston tiedot:
Versio: 0.5
Lähetyksen päivämäärä: 15 Apr 15
Kehittäjä: Thomas Lotze
Lupa: Vapaa
Suosio: 5

Rating: nan/5 (Total Votes: 0)

tl.testing tarjoaa erilaisia ​​apuohjelmia, joita voidaan käyttää, kun kirjoitat testejä. & Nbsp; Se on yhteensopiva Python versioita 2.6 ja 2.7.
Hiekkalaatikot hakemistojen ja tiedostojen
Kun testataan koodin, joka muuttaa hakemistoja ja tiedostoja, se on hyödyllistä pystyä luomaan ja tarkastaa näytteen puu hakemistoja ja tiedostoja helposti. Tl.testing.fs moduuli tukee luoda puusta sanallisesti, jossa luetellaan sen samassa muodossa ja siivoamaan itse.
Vuonna doc testissä, nämä tilat voidaan käyttää näin luoda ja listata hakemisto, tiedosto ja symbolinen linkki:
>>> Alkaen tl.testing.fs tuonti new_sandbox, ls
>>> New_sandbox ("" ​​"
... D foo
... F foo / bar asdf
... L Baz -> foo / bar
... "" ")
>>> Ls ()
l Baz -> foo / bar
d foo
f foo / bar asdf
Katso tiedosto fs.txt löytyi lähdekoodin lisäohjeita, mukaan lukien miten perustaa ja purkaa testeissä käytetään tiedostojärjestelmä hiekkalaatikot.
asennus vaadittaessa maksettavaa skriptejä
Jotkut toiminnot voisi haluta testata käyttää ulkoisia ohjelmia, kuten hakulaite tai tekstieditori. Tl.testing.script moduuli sisältää apuohjelmia, joiden asentaa yksinkertainen pilkata skriptit paikoissa, joissa koodi testattava löytävät ne. He ottavat merkkijono Python-koodin ja luoda kääre skripti, joka asettaa Python polku vastaamaan, että testin ja kulkee koodin.
Näin tällainen pilkata skripti voidaan käyttää doc testi:
>>> Alkaen tl.testing.script tuonti asentaa
>>> Komentosarjan_polku = asentaa ("print" yksinkertainen käsikirjoitus. "")
>>> Print auki (komentosarjan_polku) .Lue ()
#! ...

tuonti sys
sys.path [:] = [...]

print "yksinkertainen skripti."
>>> Tuonti aliprosessi
>>> Sub = subprocess.Popen (komentosarjan_polku, shell = True, stdout = subprocess.PIPE)
>>> Stdout, stderr = sub.communicate ()
>>> Print stdout
Yksinkertainen skripti.
Katso tiedosto script.txt löytyi lähdekoodin uusia mahdollisuuksia, miten asentaa ja käyttää pilkata skriptejä sekä miten repiä alas testeissä käytetään mock skriptejä.
Doc-testaus graafista sisältöä Kairon pintojen
Vaikka on suoraviivaista verrata sisältöä kaksi kairo pintojen Python-koodin, käsittely grafiikkaa on kuin asiak testejä. Kuitenkin Manuel paketti voidaan poimia yleisempi testitapauksien tekstidokumentti samalla sekoittaa ne doc testejä luonnollisella tavalla.
Tl.testing.cairo moduuli tarjoaa testisarja tehdas, joka käyttää Manuel toteuttaa graafisia testejä muotoiltu uudelleen tekstin lukuihin. Kuvateksti Tällaisen luku pitäisi olla kirjaimellinen Python ilme, jonka arvo on Kairo pinta, ja sen kuva on käytetty testi odotuksia.
Näin pinta voitaisiin verrata odotettavissa kuvan doc testi:
>>> Tuonti Kairo
>>> Alkaen pkg_resources tuonti resource_filename
>>> Kuva = resource_filename ('tl.testing', 'testimages / correct.png')
.. Kuva :: tl / testaus / testimages / correct.png
& Nbsp; `` cairo.ImageSurface.create_from_png (kuva) ``
Katso tiedosto cairo.txt löytyi lähdekoodin lisäneuvoja ja dokumentointi mahdollisimman testilähdön.
Työskentely kierteet Koekoodissa
Standardi TestCase luokka ei kerää virheitä ja epäonnistumisia, joka tapahtui muut ketjut kuin tärkein. Tl.testing.thread moduuli tarjoaa kierre luokat ja ThreadAwareTestCase luokan sallia vain, että sekä joitakin muita mukavuuksia kokeisiin, jotka käsittelevät viestiketjut: estää odotettavissa käsittelemätön poikkeuksia lankoja tulostetaan kanssa testilähdön, raportointi viestiketjut jätti jälkeensä kokeella, käynnissä koodi daemon säikeen liittyminen kierteet ja laskemalla ketjut aikana testin ajoaika:
>>> Tuonti aika
>>> Tuonti tl.testing.thread
>>> Luokan SampleTest (tl.testing.thread.ThreadAwareTestCase):
...
... Def test_error_in_thread_should_be_reported (itse):
... Kanssa tl.testing.thread.ThreadJoiner (1):
... Self.run_in_thread (lambda: 1/0)
...
... Def test_active_count_should_count_only_new_threads (itse):
... Kanssa tl.testing.thread.ThreadJoiner (1):
... Self.run_in_thread (lambda-: time.sleep (0,1))
... Self.assertEqual (1, self.active_count ())
... Self.assertEqual (0, self.active_count ())
>>> Tuonti unittest
>>> Run (unittest.makeSuite (SampleTest))
================================================== ====================
VIRHE: test_error_in_thread_should_be_reported (__builtin __. SampleTest)
-------------------------------------------------- --------------------
Paluuseurannan (viimeisin puhelu viimeinen):
& Nbsp; ...
ZeroDivisionError: kokonaislukujaolla tai modulo nollalla
-------------------------------------------------- --------------------
Ran 2 testit N.NNNs
Hävinnyt (virheet = 1)
Katso tiedosto thread.txt löytyi lähdekoodin lisätietoja ThreadAwareTestCase luokassa.
Rakentaminen testiaineistoja jotka käyttävät Manuel
Kuten Manuel tarjoaa joitakin tehokkaita ominaisuuksia lisäksi standardin doctests, Manuel testisarjat on perustettu hieman eri tavalla kuin tavallinen niistä. Tl.testing.doctest moduuli toteuttaa DocFileSuite tehdas, jota voidaan käyttää kuten tavallinen yksi vaan luo testisarja käyttäen Manuel ja sallii joidenkin lisäkonfiguraatiota liittyvät Manuel, joukossa kykyä tulkita alaviitteitä, jotka käytetään tehdä käyttämällä hylätty zope.testing.doctest:
>>> Sample_txt = kirjoitus ('sample.txt', "" "
... [#footnote] _
... >>> X
... 1
...
... .. [#footnote]
... >>> X = 1
... "" ")
>>> Alkaen tl.testing.doctest tuonti DocFileSuite
>>> Run (DocFileSuite (sample_txt alaviitteet = True))
-------------------------------------------------- --------------------
Ran 1 testin N.NNNs
OK
>>> Sample_txt = kirjoitus ('sample.txt', "" "
... .. Code-lohkon :: python
... X = 1
...
... >>> X
... 1
... "" ")
>>> Tuonti manuel.codeblock
>>> Run (DocFileSuite (sample_txt, Manuel = manuel.codeblock.Manuel ()))
-------------------------------------------------- --------------------
Ran 1 testin N.NNNs
OK

Vaatimukset :

  • Python

Vastaavia ohjelmistoja

Muu ohjelmistojen kehittäjä Thomas Lotze

Ophelia
Ophelia

15 Apr 15

tl.pkg
tl.pkg

15 Apr 15

Kommentit tl.testing

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