次のように、二重継承を持つ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.pyPython が 2 つのテストを実行しようとしていることがわかります。スクリプトには 1 つのテストしか含まれていないのに、なぜ unittest は 2 つのテストを実行するのでしょうか?
unittest は何らかの形でLower1 つのテストと 1 つのテストを見つけると仮定しますが、 (追加の必要なセットアップ機能のため) でUpper見つかったテストのみを実行したいと思います。Lowerどうすればこれを達成できますか?
コンテキスト実際のケースでは、2 つのクラスが 2 つの異なるファイルで定義され、2 つのディレクトリに存在します。たぶんこれが役立ちます。