5

ユニットテストケースの実行を構成可能な回数繰り返すことはできますか?

たとえば、Test_MyHardwareいくつかのテストケースtest_customHardware1とを含むという名前の単体テストスクリプトがありtest_customHardware2ます。

Pythonのunittestモジュールでtest_customHardware1200回と500回の実行を繰り返す方法はありますか?test_customHardware2

:上記のケースは簡略化されています。実際には、数千のテストケースがあります。

4

2 に答える 2

2

より良いオプションは、でunittest.main()複数回呼び出すことexit=Falseです。この例では、引数として繰り返す回数を取り、その回数だけ呼び出しますunittest.main

parser = argparse.ArgumentParser()
parser.add_argument("-r", "--repeat", dest="repeat", help="repeat tests")
(args, unitargs) = parser.parse_known_args()
unitargs.insert(0, "placeholder") # unittest ignores first arg
# add more arguments to unitargs here
repeat = vars(args)["repeat"]
if repeat == None:
    repeat = 1
else:
    repeat = int(repeat)
for iteration in range(repeat):
    wasSuccessful = unittest.main(exit=False, argv=unitargs).result.wasSuccessful()
    if not wasSuccessful:
        sys.exit(1)

これにより、ユーザーが指定した回数要求したすべてのテストが実行されるため、柔軟性が大幅に向上します。

以下をインポートする必要があります。

import unittest
import argparse
于 2016-10-20T09:54:32.860 に答える