Nasentest - Werkzeuge
Das Modul nas.tools bietet eine Reihe von Testhilfen, die Sie möglicherweise nützlich finden, darunter Dekoratoren zum Einschränken der Testausführungszeit und zum Testen auf Ausnahmen sowie alle assertX-Methoden, die in unittest.TestCase enthalten sind.
nose.tools.ok_(expr, msg = None) - Abkürzung für behaupten.
nose.tools.eq_(a, b, msg = None) - Abkürzung für 'assert a == b, "% r! =% R"% (a, b)
nose.tools.make_decorator(func) - Wickelt einen Testdekorateur ein, um die Metadaten der dekorierten Funktion ordnungsgemäß zu replizieren, einschließlich der zusätzlichen Dinge der Nase (nämlich Einrichten und Herunterfahren).
nose.tools.raises(*exceptions) - Der Test muss eine der erwarteten Ausnahmen auslösen, um zu bestehen.
nose.tools.timed(limit) - Der Test muss innerhalb der angegebenen Frist abgeschlossen sein
nose.tools.istest(func) - Dekorateur, um eine Funktion oder Methode als Test zu markieren
nose.tools.nottest(func) - Dekorateur, um eine Funktion oder Methode als keinen Test zu markieren
Parametrisiertes Testen
Das unittest-Testframework von Python bietet keine einfache Möglichkeit, parametrisierte Testfälle auszuführen. Mit anderen Worten, Sie können Argumente nicht einfach an a übergebenunittest.TestCase von außen.
Pytest-Modul-Ports testen die Parametrisierung jedoch auf verschiedene gut integrierte Arten -
pytest.fixture() Mit dieser Option können Sie die Parametrisierung auf der Ebene der Gerätefunktionen definieren.
@pytest.mark.parametrizeErmöglicht die Definition der Parametrisierung auf Funktions- oder Klassenebene. Es bietet mehrere Argument- / Fixture-Sets für eine bestimmte Testfunktion oder -klasse.
pytest_generate_tests Ermöglicht die Implementierung eines eigenen benutzerdefinierten dynamischen Parametrisierungsschemas oder von Erweiterungen.
Ein Drittanbieter-Modul 'nasenparametrisiert' ermöglicht das parametrisierte Testen mit jedem Python-Testframework. Es kann von diesem Link heruntergeladen werden -https://github.com/wolever/nose-parameterized