В нашей команде мы определяем большинство тестовых примеров:
Один класс "framework" ourtcfw.py:
import unittest
class OurTcFw(unittest.TestCase):
def setUp:
# something
# other stuff that we want to use everywhere
и множество тестовых примеров, таких как 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()
Когда я пишу новый тестовый код и хочу часто его запускать, и экономя время, я делаю то, что я ставил "__" перед всеми другими тестами. Но это громоздко, отвлекает меня от кода, который я пишу, и шум фиксации, который это создает, довольно раздражает.
Так, например, при внесении изменений в testItIsHot()
, я хочу иметь возможность сделать это:
$ python testMyCase.py testItIsHot
и unittest
запускать только testItIsHot()
Как я могу это достичь?
Я попытался переписать часть if __name__ == "__main__":
, но так как я новичок в Python, я чувствую себя потерянным и все время ругаюсь во всем, кроме методов.