Lebewesen

FIXTURES, Wiederverwendbarer Zustand zum Schreiben von sauberen Tests und mehr
Jetzt downloaden

Lebewesen Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • The Apache License 2.0
  • Name des Herausgebers:
  • Robert Collins
  • Website des Verlags:
  • http://bazaar.canonical.com

Lebewesen Stichworte


Lebewesen Beschreibung

Fixtures, wiederverwendbarer Zustand zum Schreiben von sauberen Tests und mehr FIXTURES ist ein Werkzeug, das einen Python-Vertrag für wiederverwendbare State / Support-Logik definiert, hauptsächlich für die Untersuchungstests. Helfer- und Anpassungslogik ist enthalten, um die eigenen Vorrichtungen mit dem Befestigungsvertrag einfach zu schreiben. Klebstoffkodex ist bereitgestellt, das die Verwendung von Fixtures ermöglicht, die den Befestigungsvertrag in ungeeigneten kompatiblen Testfällen einfach und unkompliziert erfüllen. Warum ist FIXTURESSTANDARDPUDE PYTHON UNITTESTE.Py bietet keine offensichtliche Methode zur Herstellung und Wiederverwendung von Staat, der in einem anderen Testfall erforderlich ist, als durch Hinzufügen eines Verfahrens die Testklasse. Diese Waage ist schlecht - komplexe Helferfunktionen, die eine Testklasse-Hierarchie proportieren, ist ein regelmäßiges Muster, wenn dies erledigt ist. Spöttisch, während ein großartiges Werkzeug nicht verhindern kann (und helfer, um komplexe Dinge auf dieselbe Weise auf dieselbe Weise anzunehmen, wenn sie auf der Testklasse platziert werden). Mit einem einheitlichen Vertrag, in dem Helfer keine Abhängigkeit von der Testklasse haben, erlauben wir alle Regelmäßige Kodex-Hygieneaktivitäten, die ohne den verzerrenden Einfluss von in einer Klassenhierarchie erfolgen, die eine völlig andere Sache modelliert - was Helfer auf einem Testcase leiden leidet. Jede Fixture verfügt über Attribute, die spezifisch für das Gerät sind. Beispielsweise kann ein Fixture, das ein Verzeichnis darstellt, das für temporäre Dateien verwendet werden kann, möglicherweise ein Attribut 'path'.createing feacturesdesinimal, subclass feuture, definieren Sie das Setup, um Ihren Status zu initialisieren, und planen Sie eine Bereinigung, wenn Sie aufgerufen werden und Sie sind: >>> Unbestest importieren >>> Import Fixtures >>> Klasse NoddyFixure (FIXTURES.FIXTURE): ... Def Setup (SELBST): ... Super (Noddyfixture, Self) .Setup () ... Self.FrobNieder = 42 ... self.addcleanup (Delattr, Self, 'FrobnoDezzle') Initialisieren Sie die FrobNoLzzle, wenn das Setup aufgerufen wird, und wenn die Bereinigung aufgerufen wird, wird das Frobnozzzle-Attribut befreit. . Es ist das Ergebnis der Funktion in FN_RESULT: >>> Import OS.Path >>> Importieren >>> Tempfile importieren >>> Tempfile importieren >>> def setup_function (): ... RETURN TEMPFILE.MKDTEMP () >>> def TearDown_Function ( FIXTURE): ... Shuttil.RMTree (FIXTURE) >>> FIXTORE = FIXTURES.FunctionFixe (Setup_Function, Tearddown_Function) >>> FIXTURE.SETUP () >>> Drucken OS.PATH.Isdir (FIXTURE.FN_RESULT) TRUE >> > feursure.cleanup () Das obige Vorrichtungs-Apithe-Beispiel gibt einige der Fixture-API ein. Um nach dem Einsatz eines Geräts aufräumen zu können, definieren alle Vorrichtungen eine Cleanup-Methode, die aufgerufen werden soll, wenn ein Gerät abgeschlossen ist Sie haben auch eine Setup-Methode definieren, die aufgerufen werden sollte, bevor Sie versuchen, sie zu verwenden. Ein gemeinsames Wunsch mit gerichteten Geräten, die teuer sind, um sie in vielen Testfällen wiederzuverwenden. Um dies zu unterstützen, definiert die Basisvorrichtung auch einen Reset, der sich selbst anruft. cleanup (); self.setup (). Fixtures, die sich effizienter wiederverwendbar machen können, sollten diese Methode überschreiben. Dies kann dann mit mehreren Teststatus über Dinge wie TestResourcen, SetupClass oder SetupModule verwendet werden. Wenn Sie mit einem Gerät mit einem Test verwenden, können Sie die Setup- und Bereinigungsmethoden manuell anrufen. Komfortvoller ist zwar, um den mitgelieferten Kleber von FIXTURES.TESTWITHFIXTURES zu nutzen, was ein Mixin definieren, das mit einem Mixin definieren, der verwendet wird (Kameletui, da ungezwungenste Camel-Case in ganz) Methode ist. Es nennt das Setup auf dem Gerät, rufen Sie sich selbst an. So können Sie einschreiben: >>> Importieren von Testtools >>> UnitTestnote importieren >>> Klasse Noddytest (testtools.testcase, feutures.testwithfixtures): ... def test_example (self): ... feuture = self.usFixture (noddyfix ure ()) ... self.asertequal (42, fixe.fobnoLzzle) >>> result = ungewöhnlich Kontextmanager: >>> mit FIGHTURES.FunctionFixe (Setup_Function, Tearddown_Function) als Vorrichtung: ... drucken os.path.isdir (fixe.fn_result) echte Anforderungen: · Python


Lebewesen Zugehörige Software

Kommenturm

bietet eine vereinfachte Befehlszeilenschnittstelle an die Versionskontrollsysteme GIT, Mercurial und Subvers ... ...

67

Herunterladen