Запуск одного теста из unittest.TestCase через командную строку
В нашей команде мы определяем большинство тестовых случаев следующим образом:
Один класс "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, я чувствую себя потерянным и продолжаю врезаться во все остальное, кроме методов.