コマンドライン経由で unittest.TestCase から単一のテストを実行する 質問する

コマンドライン経由で unittest.TestCase から単一のテストを実行する 質問する

私たちのチームでは、ほとんどのテストケースを次のように定義しています。

1 つの「フレームワーク」クラス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 初心者なので、途方に暮れてしまい、メソッド以外の部分で困惑してしまいます。

ベストアンサー1

これはあなたの提案どおりに機能します - クラス名も指定する必要があります:

python testMyCase.py MyCase.testItIsHot

おすすめ記事