在循环中运行整个单元测试

2 投票
2 回答
2435 浏览
提问于 2025-04-17 11:14

我想要能够连续运行整个单元测试套件5次。这包括启动、测试和清理的方法。

我尝试了各种方法,包括把整个类放进一个循环里,但都没有成功。谢谢大家的帮助。

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()

2 个回答

2

如果你想用基于unittest的测试来进行压力测试,可以看看FunkLoad,这个工具就是为了这个目的设计的。

如果不想用这个工具,你就需要一个修改过的测试运行器。你可以在标准库的unittest模块里找到当前测试运行器的代码。你可以尝试创建一个现有的运行器,然后让它跑五遍,就像@reclosedev的回答里提到的那样。

3

如果你真的想在循环中运行测试,并且你使用的是 Python 2.7 及以上版本:

# ... skipped ...

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

撰写回答