2012-01-27 61 views
1

我希望能够连续5次运行整个单元测试testSuite。这包括启动,测试以及拆卸方法。在循环中运行整个单元测试

我已经尝试了太阳下的所有东西,包括将整个类添加到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

你为什么要这样做?你想达到什么目的? – 2012-01-27 19:09:09

+1

我担心你可能在单元测试中做错了。 – delnan 2012-01-27 19:17:15

+0

如果你正在进行性能测试,这不是正确的方法。如果你的单元测试有副作用或持续改变,这也不是正确的方法。 – 2012-01-27 19:40:43

回答

3

如果你真的想运行在一个循环测试,你对Python的2.7+:

# ... skipped ... 

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

如果你想要做的压力与基于单元测试的测试测试,看看FunkLoad它就是为此而设计的。

否则,您将需要一个修改过的测试跑步者。您可以在标准库unittest模块中找到当前测试运行器的代码。可能你可以实例化一个现有的并运行五次,如@ reclosedev的答案。