私は、さまざまな引数を取ることができるドライバスクリプトを介してすべてのモジュールが呼び出されます。テスト自体はpython unittestモジュールを使って書かれています。テストモジュールへのPythonスクリプト引数の受け渡し
import optparse
import unittest
import sys
import os
from tests import testvalidator
from tests import testmodifier
from tests import testimporter
#modify the path so that the test modules under /tests have access to the project root
sys.path.insert(0, os.path.dirname(__file__))
def run(verbosity):
if verbosity == "0":
sys.stdout = open(os.devnull, 'w')
test_suite = unittest.TestSuite()
test_suite.addTest(unittest.TestLoader().loadTestsFromTestCase(testvalidator.TestValidator))
test_suite.addTest(unittest.TestLoader().loadTestsFromTestCase(testmodifier.TestModifier))
test_suite.addTest(unittest.TestLoader().loadTestsFromTestCase(testimporter.TestDataImporter))
unittest.TextTestRunner(verbosity=int(verbosity)).run(test_suite)
if __name__ == "__main__":
#a simple way to control output verbosity
parser = optparse.OptionParser()
parser.add_option("--verbosity", "--verbosity", dest="verbosity", default="0")
(options, args) = parser.parse_args()
run(options.verbosity)
私の問題は、これらのテストモジュール内では、私は私が運転手に渡された別のパラメータに基づいてスキップしたい特定のテストを持っている、ということです。私はunittestがこれを行うデコレータのファミリを提供していることを知っていますが、この情報を個々のモジュールに渡す最善の方法はわかりません。たとえば、--skip-slow
引数があった場合、どうすればテストにゆっくりと注釈を付けることができますか?
ありがとうございます。
解決策が見つかった可能性があります。私の答えをチェックしてください。 –