tl.testing

Screenshot der Software:
tl.testing
Softwarebeschreibung:
Version: 0.5
Upload-Datum: 15 Apr 15
Entwickler: Thomas Lotze
Lizenz: Frei
Popularität: 5

Rating: nan/5 (Total Votes: 0)

tl.testing bietet verschiedene Dienstprogramme, die beim Schreiben von Tests verwendet werden kann. & Nbsp; Es ist kompatibel zu Python-Versionen 2.6 und 2.7.
Sandkästen von Verzeichnissen und Dateien
Bei der Prüfung von Code, der Verzeichnisse und Dateien ändert, ist es sinnvoll, auf einfache Weise und prüfen eine Probe Baum von Verzeichnissen und Dateien sein. Die tl.testing.fs Modul bietet Unterstützung für die Schaffung eines Baumes aus einer Textbeschreibung und listet sie im gleichen Format und Aufräumarbeiten nach sich.
In einer doc-Test, können diese Anlagen wie diese verwendet werden, um ein Verzeichnis, eine Datei und einen symbolischen Link zu erstellen und in der Liste:
>>> Von 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
Sehen Sie die Datei fs.txt mit dem Quellcode für die weitere Beratung, einschließlich, wie Sie und Abbau Tests mit Dateisystem-Sandbox gefunden.
Die Installation aufrufbar Skripte
Einige Funktionen einer könnte testen, macht Gebrauch von externen Programmen wie einem Pager oder einem Texteditor. Die tl.testing.script Modul bietet Versorgungsunternehmen, die einfach Mock Skripte an Orten, wo der Code getestet werden sie finden zu installieren. Sie nehmen eine Reihe von Python-Code, und erstellen Sie ein Wrapper-Skript, das die Python-Pfad ein, dass der Test entsprechen und führt den Code.
Dies ist, wie eine solche Schein Skript könnte in einem doc Test verwendet werden:
>>> Von tl.testing.script Import installieren
>>> Script_path = installieren ("print" ein einfaches Skript. ")
>>> Print offen (script_path) .mehr ()
#! ...

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

print 'Ein einfaches Skript. "
>>> Import Teilprozess
>>> Sub = subprocess.Popen (script_path, shell = True, stdout = subprocess.PIPE)
>>> Stdout, stderr = sub.communicate ()
>>> Print stdout
Ein einfaches Skript.
Sehen Sie die Datei script.txt mit dem Quellcode für weitere Möglichkeiten, wie die Installation und den Zugang Mock Skripte sowie, wie man abreißen Tests mit Mock Skripte gefunden.
Doc-Prüfung der grafische Inhalte von kairo Oberflächen
Zwar ist es unkompliziert, um den Inhalt von zwei kairo Oberflächen in Python-Code zu vergleichen, Handhabung Grafiken ist über doc-Tests. Allerdings kann das manuel Paket verwendet werden, um allgemeinere Testfälle aus einem Textdokument zu extrahieren und ermöglicht, sie mit doc-Tests in einer natürlichen Weise zu mischen.
Die tl.testing.cairo Modul bietet eine Testsuite Fabrik, die manuel verwendet, um grafische Tests umstrukturiert-Text Zahlen formuliert auszuführen. Die Beschriftung einer solchen Zahl soll eine wörtliche Python-Ausdruck, dessen Wert eine kairo Fläche sein, und sein Image als Test Erwartung verwendet.
Dies ist, wie eine Oberfläche kann mit einem erwarteten Bild in einem doc-Test verglichen werden:
>>> Import kairo
>>> Von pkg_resources Import resource_filename
>>> Image = resource_filename ('tl.testing', 'testimages / correct.png')
.. :: Figur tl / Prüf- / testimages / correct.png
& Nbsp; `` cairo.ImageSurface.create_from_png (Bild) ``
Sehen Sie die Datei cairo.txt mit dem Quellcode für weitere Beratung und Dokumentation der möglichen Testausgang gefunden.
Die Arbeit mit Themen in Test-Code
Die Standard-Testcase-Klasse nicht Fehler und Ausfälle, die in anderen Threads als der wichtigste aufgetreten sammeln. Die tl.testing.thread Modul bietet Gewinde-Klassen und eine ThreadAwareTestCase Klasse, genau das zu, aber auch einige andere Einrichtungen für Tests, die mit Themen befassen ermöglichen: Verhinderung erwarteten unbehandelte Ausnahmen in Threads, die mit der Testausgabe ausgegeben, links Berichterstattung Gewinde hinter durch einen Test, Ausführen von Code in einem Daemon-Thread, Gewindeanschlüsse und Zählen die Fäden während der Laufzeit des Tests begonnen:
>>> Import Zeit
>>> Import tl.testing.thread
>>> Klasse Sampletest (tl.testing.thread.ThreadAwareTestCase):
...
... Def test_error_in_thread_should_be_reported (Selbst-):
... Mit tl.testing.thread.ThreadJoiner (1):
... Self.run_in_thread (Lambda: 1/0)
...
... Def test_active_count_should_count_only_new_threads (Selbst-):
... Mit 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
>>> Lauf (unittest.makeSuite (Sample))
================================================== ====================
ERROR: test_error_in_thread_should_be_reported (__builtin __ Sampletest.)
-------------------------------------------------- --------------------
Traceback (jüngste Aufforderung zuletzt):
& Nbsp; ...
Zerodivisionerror: ganzzahlige Division oder Modulo durch Null
-------------------------------------------------- --------------------
Ran 2 Tests in N.NNNs
FAILED (Fehler = 1)
Sehen Sie die Datei thread.txt mit dem Quellcode für weitere Details der ThreadAwareTestCase Klasse gefunden.
Der Bau Test-Suiten, die manuel verwenden
Wie manuel bietet einige leistungsstarke Funktionen zusätzlich zu den Standard Doctests werden manuel Testreihen etwas anders aus Standard diejenigen gesetzt. Die tl.testing.doctest Modul implementiert eine DocFileSuite Fabrik, die wie der Standard verwendet werden kann, sondern schafft eine Testsuite mit manuel und ermöglicht einige zusätzliche Konfigurationsschritte zu manuel bezogenen, darunter die Möglichkeit, Fußnoten, die Verwendung der veralteten getan werden verwendet interpretieren zope.testing.doctest:
>>> Sample_txt = write ('sample.txt', "" "
... [#footnote] _
... >>> X
... 1
...
... .. [#footnote]
... >>> X = 1
... "" ")
>>> Von tl.testing.doctest Import DocFileSuite
>>> Lauf (DocFileSuite (sample_txt, Fußnoten = True))
-------------------------------------------------- --------------------
Ran-1-Test in N.NNNs
OK
>>> Sample_txt = write ('sample.txt', "" "
... .. Code-block :: python
... X = 1
...
... >>> X
... 1
... "" ")
>>> Import manuel.codeblock
>>> Lauf (DocFileSuite (sample_txt, manuel = manuel.codeblock.Manuel ()))
-------------------------------------------------- --------------------
Ran-1-Test in N.NNNs
OK

Anforderungen :

  • Python

Ähnliche Software

STK/Unit
STK/Unit

20 Feb 15

jstestnetlib
jstestnetlib

20 Feb 15

Andere Software von Entwickler Thomas Lotze

tl.pkg
tl.pkg

15 Apr 15

Ophelia
Ophelia

15 Apr 15

Kommentare zu tl.testing

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!