Ich arbeite an Tests für eine Web-Anwendung in Python geschrieben.Python-Nasetests überspringen bestimmte Tests
Angenommen, ich habe 5 Tests in meinem Modul test_login.py.
Jeder einzelne Test ist eine Klasse.
Es gibt oft einen Basistest, der die TestFlow-Klasse erweitert, die unsere vordefinierte Testklasse ist.
Und dann erweitern andere Tests in diesem Modul diesen Basistest.
Zum Beispiel:
#The base test
TestLogin(TestFlow):
#do login_test_stuff_here
#Another test in the same module
TestAccountDetails(TestLogin)
#do account_details_test_stuff_here
...
Es ist eigentlich ganz praktisch, denn um zum Beispiel zu testen AccountDetails Benutzer werden muss angemeldet, so kann ich nur von TESTLOGIN Test erben, und ich bin bereit, andere Funktionalität zu testen als angemeldeter Benutzer.
Alle Tests befinden sich im Ordner Projekt/Projekt/Tests.
Wir verwenden Nasetests mit Option - mit-Pylonen, um Tests durchzuführen.
Und meine Frage ist, wenn es eine Möglichkeit gibt, bestimmte TestClass als "nicht testen Sie dieses" zu markieren.
Weil ich keine Zeit verschwenden möchte, um diese "Basistests" direkt auszuführen, weil sie durch andere Tests ausgeführt werden, die iherit von ihnen sind.
Es wird wahrscheinlich Töne dieser Tests geben und ich möchte jede einzelne Sekunde dort speichern, wo es möglich ist.
Ich habe bereits festgestellt, so etwas wie überspringen, SkipTest oder @nottest, aber diese nur Arbeit für test_methods innerhalb eines ceratin Testclass, so dass ich glaube nicht, dass es hier arbeitet, wurde Ich habe eine einzige Klasse für jeden Testfall.
Beachten Sie, dass die Übereinstimmung Regex ist nicht das einzige Tor für die Aufnahme - * Nase wird auch Tests von unittest.TestCase-Unterklassen * laden. Es scheint dies für alles zu tun, was es auch importiert. Ich habe einen Test namens 'FooMixin' in einem Modul namens' foo_helpers.py', das als Test behandelt wird, einfach weil es von 'unittest.TestCase' abgeleitet ist. –