Pythonスクリプト内から単一の単体テストを実行して結果を収集する方法がわかりません。
シナリオ:さまざまなオブジェクトのさまざまな統計分布を生成するさまざまな方法をチェックする一連のテストがあります。基本的に特定の種類のランダム性をチェックしていることを考えると、テストが失敗することがあります。スクリプトまたはインタプリタからテストを繰り返し実行し、さらに分析するために結果を収集したいと思います。
次のモジュールmyTest.pyがあるとします。
class myTest(unittest.TestCase):
def setup(self):
...building objects, etc....
def testTest1(self):
..........
def testTest2(self):
..........
基本的に私はする必要があります:
- セットアップメソッドを実行します
- testTest1(たとえば)を100回実行します
- 失敗を収集する
- 失敗を返す
私が最も近かったのは(同様の質問のコードを使用して):
from unittest import TextTestRunner, TestSuite
runner = TextTestRunner(verbosity = 2)
tests = ['testTest1']
suite = unittest.TestSuite(map(myTest, tests))
runner.run(suite)
しかし、これは機能しません。理由は次のとおりです。
runner.run(suite)
セットアップメソッドを実行しません
と
testTest1が失敗したときにスローされる例外をキャッチできません