Fixtures

Screenshot der Software:
Fixtures
Softwarebeschreibung:
Version: 0.3.14
Upload-Datum: 14 Apr 15
Entwickler: Robert Collins
Lizenz: Frei
Popularität: 75

Rating: 5.0/5 (Total Votes: 2)

Fixtures ist ein Werkzeug, ein Python-Vertrag für wiederverwendbare Zustand / Unterstützungslogik definiert, in erster Linie für Komponententests. & Nbsp; Helper und Anpassung Logik enthalten, um es einfach eigene Vorrichtungen mit Hilfe der Vorrichtungen Vertrag zu schreiben. Glue-Code vorgesehen ist, die mit Geräten, die die Befestigungen Vertrag unittest kompatibel Testfälle einfach und unkompliziert zu erfüllen ist.
Warum Fixtures
Standard-Python unittest.py bietet keine offensichtliche Verfahren zur Herstellung und Wiederverwenden Zustand in einem Testfall außer durch Hinzufügen einer Methode auf der Test-Klasse benötigt. Diese Skalen schlecht - komplexe Hilfsfunktionen Pflanzgut ein Testklassenhierarchie ist ein regelmäßiges Muster, wenn dies geschehen ist. Mocking, während ein großes Werkzeug sich nicht verhindern (und Helfer, um komplexe Dinge können in der gleichen Weise akkumulieren verspotten, wenn auf der Testklasse platziert).
Durch einen einheitlichen Vertrag, wo Helfer haben keine Abhängigkeit von der Testklasse erlauben wir alle regelmäßig Code Hygiene Aktivitäten ohne die verzerrenden Einfluss in einer Klassenhierarchie, die eine ganz andere Sache, die Modellierung ist nehmen definieren - das ist, was Helfern auf einem Testcase leiden an.
Über Fixtures
Ein Fixture stellt einige Zustand. Jedes Gerät verfügt über Attribute darauf, die speziell für die Befestigung sind. Zum Beispiel könnte eine feste Größe, die ein Verzeichnis, das für temporäre Dateien verwendet werden können, haben ein Attribut "Pfad".
Erstellen Fixtures
Minimal, Unterklasse Fixture, Definieren Setup, um Ihren Zustand zu initialisieren und planen Sie eine Bereinigung für Aufräumarbeiten, wenn aufgerufen, und schon sind Sie fertig:
>>> Import unittest
>>> Import Leuchten
>>> Klasse NoddyFixture (fixtures.Fixture):
... Def setUp (self):
... Super (NoddyFixture Selbst) .setUp ()
... Self.frobnozzle = 42
... Self.addCleanup (delattr, selbst, 'FrobNozzle')
Dies wird FrobNozzle initialisieren, wenn Setup aufgerufen wird, und wenn die Bereinigung gecallt des FrobNozzle Attribut zu befreien.
Es gibt einen Helfer zur Anpassung einer Funktion oder Funktionspaar in Fixtures. sie gibt das Ergebnis der Funktion in fn_result:
>>> Import os.path
>>> Import shutil
>>> Import tempfile
>>> Def setup_function ():
... Zurück tempfile.mkdtemp ()
>>> Def teardown_function (Halterung):
... Shutil.rmtree (Halterung)
>>> Befestigung = fixtures.FunctionFixture (setup_function, teardown_function)
>>> Fixture.setUp ()
>>> Print os.path.isdir (fixture.fn_result)
Wahr
>>> Fixture.cleanUp ()
Die Fixture API
Das obige Beispiel stellt einige der Fixture-API. Um in der Lage zu bereinigen nach einer festen Größe verwendet worden sein, alle Geräte definieren eine Bereinigung Methode, die aufgerufen werden soll, wenn ein Scheinwerfer mit beendet.
Denn es ist schön, in der Lage, eine bestimmte Gruppe von verwandten Vorrichtungen im Vorfeld der mit ihnen aufbauen zu können, müssen Vorrichtungen auch festlegen, die Aufstellungsmethode, die, bevor Sie versuchen, sie zu nutzen aufgerufen werden soll.
Ein häufiger Wunsch mit Befestigungen, die teuer zu erstellen, ist, sie in vielen Testfälle wieder verwenden sind; zur Unterstützung dieser die Basis Fixture definiert auch einen Reset die self.cleanUp nennt (); self.setUp (). Befestigungen, die effizienter machen können sich wieder verwendbare sollten diese Methode überschreiben. Dieses kann dann mit mehreren Testzustand über Dinge wie testresources, setUpClass oder Setupmodule verwendet werden.
Bei der Verwendung einer Vorrichtung mit einem Test können Sie manuell die Vorbereitung und Aufräumen Methoden aufrufen. Bequemer ist allerdings die mitgelieferte Klebstoff aus fixtures.TestWithFixtures die eine mixin Definition useFixture bietet (Kamel Fall, weil Unittest ist Camelcase in) Methode verwenden. Es wird setUp auf der Befestigung rufen, rufen self.addCleanup (Vorrichtung), um eine Bereinigung planen, und kehren Sie das Gerät. Auf diese Weise können eine Schreib:
>>> Import Testtools
>>> Import unittest
Beachten Sie, dass wir Testtools Testcase hier müssen wir eine TestCase.addCleanup Verfahren zu gewährleisten.
& Nbsp; >>> Klasse NoddyTest (testtools.TestCase, fixtures.TestWithFixtures):
& Nbsp; ... def test_example (Selbst-):
& Nbsp; ... Befestigung = self.useFixture (NoddyFixture ())
& Nbsp; ... self.assertEqual (42, fixture.frobnozzle)
& Nbsp; >>> result = unittest.TestResult ()
& Nbsp;. >>> _ = NoddyTest ('test_example') ausgeführt (Ergebnis)
& Nbsp; >>> drucken result.wasSuccessful ()
& Nbsp; Wahr
Fixtures Umsetzung der Kontext Protokoll, dh Sie können auch eine Halterung zu verwenden als Kontext-Manager:
>>> Mit fixtures.FunctionFixture (setup_function, teardown_function) als Aufnahme:
... Druck os.path.isdir (fixture.fn_result)
True

Anforderungen :

  • Python

Ähnliche Software

qc
qc

14 Apr 15

should-dingus
should-dingus

11 May 15

pytest-marks
pytest-marks

15 Apr 15

nose-html-output
nose-html-output

20 Feb 15

Andere Software von Entwickler Robert Collins

Kommentare zu Fixtures

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