In unserem Team definieren wir die meisten Testfälle wie folgt:
Eine "Framework" Klasse ourtcfw.py
:
import unittest
class OurTcFw(unittest.TestCase):
def setUp:
# Etwas
# Anderes Zeug, das wir überall verwenden wollen
Und viele Testfä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 neuen Testcode schreibe und ihn oft ausführen und Zeit sparen möchte, füge ich "__" vor allen anderen Tests ein. Aber das ist umständlich, lenkt mich vom Code ab, den ich schreibe, und der Commit-Lärm, den dies verursacht, ist einfach nur nervig.
Also, wenn ich Änderungen an testItIsHot()
vornehme, möchte ich in der Lage sein, dies zu tun:
$ python testMyCase.py testItIsHot
und lassen unittest
nur testItIsHot()
ausführen
Wie kann ich das erreichen?
Ich habe versucht, den if __name__ == "__main__":
Teil umzuschreiben, aber da ich neu in Python bin, fühle ich mich verloren und stoße ständig auf alles andere als die Methoden.