Запуск одного теста из 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, я чувствую себя потерянным и продолжаю врезаться во все остальное, кроме методов.

Ответы на вопрос(7)

Ваш ответ на вопрос