tl.testing

Skjermbilde programvare:
tl.testing
Prog.varedetaljer:
Versjon: 0.5
Last opp dato: 15 Apr 15
Utvikler: Thomas Lotze
Lisens: Gratis
Popularitet: 5

Rating: nan/5 (Total Votes: 0)

tl.testing gir ulike verktøy som kan brukes når du skriver tester. & Nbsp; Det er kompatibelt til Python versjonene 2.6 og 2.7.
Sandkasser av kataloger og filer
Når du skal teste kode som endrer kataloger og filer, er det nyttig å kunne opprette og inspisere en prøve tre av kataloger og filer enkelt. Den tl.testing.fs Modulen gir støtte for å opprette et tre fra en tekstlig beskrivelse, lister den opp i samme format og rydde opp etter seg selv.
I en doc test, kan disse anleggene brukes som dette for å opprette og vise en katalog, en fil og en symbolsk link:
>>> fra tl.testing.fs import 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
Se filen fs.txt funnet med kildekoden for ytterligere råd, inkludert hvordan du setter opp og rive ned tester ved hjelp av fil-system sandkasser.
Installere callable scripts
Noe funksjonalitet man kanskje ønsker å teste gjør bruk av eksterne programmer som en personsøker eller en tekst editor. Den tl.testing.script modulen gir verktøy som installerer enkle mock skript på steder der koden som skal testes vil finne dem. De tar en streng av Python-kode og lage et skript som setter Python banen for å matche det av testen og kjører koden.
Dette er hvordan en slik mock skript kan bli brukt i en doc test:
>>> Fra tl.testing.script import installere
>>> Script_path = installere ("print" En enkel skript. ")
>>> Print åpen (script_path) .read ()
#! ...

import sys
sys.path [:] = [...]

print 'En enkel script.'
>>> Import delprosess
>>> Sub = subprocess.Popen (script_path, shell = True, stdout = subprocess.PIPE)
>>> Stdout, stderr = sub.communicate ()
>>> Print stdout
En enkel script.
Se filen script.txt funnet med kildekoden for ytterligere muligheter for hvordan du installerer og bruker mock scripts samt hvordan å rive ned tester ved hjelp av falske manuskripter.
Doc-testing av grafisk innhold fra cairo overflater
Mens det er rett-frem til å sammenligne innholdet i to cairo flater i Python-kode, håndtering grafikk er hinsides doc tester. Imidlertid kan manuel pakken brukes til å trekke mer generelle testtilfeller fra et tekstdokument, samtidig som å blande dem med doc tester på en naturlig måte.
Den tl.testing.cairo modulen gir en testsuite fabrikk som bruker manuel å utføre grafiske tester formulert som restrukturert-tekst tall. Bildeteksten av en slik figur er ment å være en bokstavelig Python uttrykk hvis verdien er en cairo overflate, og dens bildet er brukt som test forventning.
Dette er hvordan en overflate kan bli sammenliknet med en forventet bilde i et doc test:
>>> Import cairo
>>> Fra pkg_resources import resource_filename
>>> Image = resource_filename ('tl.testing', 'testimages / correct.png')
.. Figur :: tl / testing / testimages / correct.png
& Nbsp; `` cairo.ImageSurface.create_from_png (image) ``
Se filen cairo.txt funnet med kildekoden for ytterligere råd og dokumentasjon av mulige test utgang.
Arbeide med tråder i test kode
Standarden Testcase klassen samler ikke feil og feil som har oppstått i andre tråder enn den viktigste. Den tl.testing.thread modulen gir tråden klasser og en ThreadAwareTestCase klasse å tillate nettopp det, samt noen andre bekvemmeligheter for tester som omhandler emner: hindre forventede Ubehandlede unntak i tråder blir skrevet ut med test utgang, rapportering tråder igjen ved en test, kjører kode i en daemon tråd, bli med tråder og telle trådene startet under testens kjøretid:
>>> Import tid
>>> Import tl.testing.thread
>>> Klasse SampleTest (tl.testing.thread.ThreadAwareTestCase):
...
... Def test_error_in_thread_should_be_reported (egen-):
... Med tl.testing.thread.ThreadJoiner (1):
... Self.run_in_thread (lambda: 1/0)
...
... Def test_active_count_should_count_only_new_threads (egen-):
... Med 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 ())
>>> Import unittest
>>> Run (unittest.makeSuite (SampleTest))
================================================== ====================
FEIL: test_error_in_thread_should_be_reported (__builtin __ SampleTest.)
-------------------------------------------------- --------------------
Traceback (siste samtale sist):
& Nbsp; ...
ZeroDivisionError: heltallsdivisjon eller modulo med null
-------------------------------------------------- --------------------
Ran to tester i N.NNNs
FAILED (feil = 1)
Se filen thread.txt funnet med kildekoden for ytterligere detaljer om ThreadAwareTestCase klasse.
Konstruere testsuiter som bruker manuel
Som manuel gir noen kraftige funksjoner i tillegg til standard doctests, er manuel testsuiter satt opp litt annerledes enn vanlige. Den tl.testing.doctest modulen etablerer en DocFileSuite fabrikk som kan brukes som standard en, men skaper en testsuite bruker manuel og lar noen ekstra konfigurasjon relatert til manuel, blant dem evnen til å tolke fotnoter som pleide å gjøres ved hjelp av det nedgraderte zope.testing.doctest:
>>> Sample_txt = write ('sample.txt "", ""
... [#footnote] _
... >>> X
... 1
...
... .. [#footnote]
... >>> X = 1
... "" ")
>>> Fra tl.testing.doctest import DocFileSuite
>>> run (DocFileSuite (sample_txt, fotnoter = True))
-------------------------------------------------- --------------------
Ran en test i N.NNNs
OK
>>> Sample_txt = write ('sample.txt "", ""
... .. Code-blokk :: python
... X = 1
...
... >>> X
... 1
... "" ")
>>> Import manuel.codeblock
>>> Run (DocFileSuite (sample_txt, manuel = manuel.codeblock.Manuel ()))
-------------------------------------------------- --------------------
Ran en test i N.NNNs
OK

Krav :

  • Python

Lignende programvare

NUnit
NUnit

19 Feb 15

nose-bleed
nose-bleed

14 Apr 15

pytest-timeout
pytest-timeout

20 Feb 15

Annen programvare fra utvikleren Thomas Lotze

tl.pkg
tl.pkg

15 Apr 15

Ophelia
Ophelia

15 Apr 15

Kommentarer til tl.testing

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!