私たちのチームでは、ほとんどのテストケースを次のように定義しています。
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