Ich versuche, nur einen einzigen Test von den Unit-Tests in einer Klasse durchgeführt. Also unter der AnnahmeFühren Sie spezifische Komponententests in Python aus main()
class MytestSuite(unittest.TestCase):
def test_false(self):
a = False
self.assertFalse(a, "Its false")
def test_true(self):
a = True
self.assertTrue(a, "Its true")
Ich möchte nur test_false laufen. Basierend auf dem Q & A, die auf dieser Website und Online habe ich die folgenden Codezeilen in meiner Hauptklasse
if __name__ == "__main__": #Indentation was wronng
singletest = unittest.TestSuite()
singletest.addTest(MytestSuite().test_false)
unittest.TextTestRunner().run(singletest)
ich Fehler werden immer beim Versuch, den Test hinzuzufügen. Hauptsächlich:
File "C:\Python27\Lib\unittest\case.py", line 189, in __init__
(self.__class__, methodName))
ValueError: no such test method in <class '__main__.MytestSuite'>: runTest
Benötige ich eine bestimmte runTest-Methode in meiner Klasse? Gibt es eine Möglichkeit, bestimmte Tests auszuführen, die zu verschiedenen Suites gehören? ZB: Methode A gehören zu Suite Klasse 1 und Methode B gehören zu Suite Klasse 2. Überraschenderweise hat sich dies als schwierig herausgestellt, online zu finden. Es gibt mehrere Beispiele dafür, dies über die Befehlszeile zu tun, aber nicht über das Programm selbst. Wie immer wird jede Hilfe geschätzt.
Ich war gerade dabei, für die Einrückung zu bearbeiten, aber dann fiel es mir auf. Hast du den Einzug für 'class MytestSuite' überprüft? Sieht für mich wie eine leere Klasse aus, wenn die Funktionen nicht eingerückt sind. – noumenal
Entschuldigung wegen der Einrückung. Ich richte es in meinem Programm richtig ein. Ich konnte es nicht in StackOverflow arbeiten lassen, obwohl ich die Seite schon eine ganze Weile benutzt habe :) – Fizi
4 Leerzeichen werden das tun :-) – noumenal