次のように、二重継承を持つpython unitestスクリプトがありTestCase
ます。
import unittest
class Upper(unittest.TestCase):
def test_dummy(self):
pass
class Lower(Upper):
pass
if __name__ == '__main__':
unittest.main()
アイデアは、テストメソッドの実装で上位クラスを定義し、いくつかの追加のセットアップ機能を含むこのクラス (異なるサブディレクトリ内) から派生させることです。結局、upper.py
多くの異なるtest_lower.py
ものが派生するものがあります。テスト メソッドは でのみ実装されupper.py
ます。
上記の例を考えると、 python test_example.py
Python が 2 つのテストを実行しようとしていることがわかります。スクリプトには 1 つのテストしか含まれていないのに、なぜ unittest は 2 つのテストを実行するのでしょうか?
unittest は何らかの形でLower
1 つのテストと 1 つのテストを見つけると仮定しますが、 (追加の必要なセットアップ機能のため) でUpper
見つかったテストのみを実行したいと思います。Lower
どうすればこれを達成できますか?
コンテキスト実際のケースでは、2 つのクラスが 2 つの異なるファイルで定義され、2 つのディレクトリに存在します。たぶんこれが役立ちます。