In unserem Team Rennen, definieren wir die meisten Testfälle wie folgt aus:einzigen Test von unittest.TestCase über die Kommandozeile
One "Rahmen" Klasse ourtcfw.py:
import unittest
class OurTcFw(unittest.TestCase):
def setUp:
# something
# other stuff that we want to use everywhere
und viele Test Fälle wie testMyCase.py:
import localweather
class MyCase(OurTcFw):
def testItIsSunny(self):
self.assertTrue(localweather.sunny)
def testItIsHot(self):
self.assertTrue(localweather.temperature > 20)
if __name__ == "__main__":
unittest.main()
Wenn ich neue Testcode zu schreiben bin und möchte es oft laufen, und sparen Zeit, was ich tue, ist, dass ich „__“ vor allen anderen Tests unterzogen. Aber es ist umständlich, lenkt mich von dem Code ab, den ich schreibe, und das Commit-Geräusch, das dadurch entsteht, ist einfach nervig.
Also z.B. wenn Änderungen an testItIsHot()
machen, ich möchte, dies zu tun in der Lage:
$ python testMyCase.py testItIsHot
und unittest
Lauf haben nurtestItIsHot()
Wie kann ich das erreichen?
Ich habe versucht, den if __name__ == "__main__":
Teil umzuschreiben, aber da ich neu bei Python bin, fühle ich mich verloren und schlage weiter in alles andere als die Methoden.
Bitte denken Sie daran, die akzeptierte [Antwort] (https://Stackoverflow.com/a/26531790/) auf die von Ajay zu aktualisieren; es funktioniert tatsächlich. –