1. ホーム
  2. パイソン

[解決済み】コマンドラインからunittest.TestCaseのテストを1つ実行する

2022-03-26 05:16:03

質問

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

つのフレームワーク・クラス 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初心者なので、迷子になりそうで、メソッド以外のところにバシバシと手を出してしまいます。

どのように解決するのですか?

ご指摘の通りです。クラス名も指定する必要があります。

python testMyCase.py MyCase.testItIsHot