2012-01-27 21 views
1

unit-testのtestSuiteを5回連続して実行したいと考えています。これには、起動、テスト、および引き裂き方法が含まれます。ユニットテスト全体をループで実行

クラス全体をforループに追加することを含め、私は太陽の下ですべてを試しましたが、運がありませんでした。助けてくれてありがとう。

import unittest, time, re 

class IIIAppforloop(unittest.TestCase): 
    def setUp(self): 
      print("setting up") 

    def testappforloop(self): 
     print ("testappforloop1") 
    def testappforloop2(self): 
     print ("testappforloop2") 

    def tearDown(self): 
     print ("tearing down") 

if __name__ == "__main__": 
    unittest.main() 
+1

なぜこれをやりたいですか?あなたは何を達成しようとしていますか? –

+1

私はあなたが間違ったユニットテストをしているかもしれないと恐れています。 – delnan

+0

パフォーマンステストを行っている場合、これは適切な方法ではありません。単体テストに副作用があるか、または永続的な変更が行われた場合でも、これは正しいアプローチではありません。 –

答えて

3

あなたが本当にループ内でテストを実行すると、あなたは、Python 2.7以降である場合:

# ... skipped ... 

if __name__ == "__main__": 
    for i in range(5): 
     unittest.main(exit=False) 
2

あなたはunittestのベースのテストとストレステストを行いたい場合は、FunkLoadを見てみましょうそれだけの目的で設計されています。

それ以外の場合は、変更されたテストランナーが必要です。現在のテストランナーのための標準ライブラリunittestモジュールでコードを見つけることができます。既存のインスタンスをインスタンス化して@ reclosedevの答えのように5回実行する可能性があります。

関連する問題