使用unittest分模块多线程执行测试用例
unittest是Python自带的测试框架,支持多线程执行测试用例。下面是一个使用unittest分模块多线程执行测试用例的例子:
import unittest
import threading
# 测试模块1
class TestModule1(unittest.TestCase):
def test_case1(self):
self.assertEqual(1 + 1, 2)
def test_case2(self):
self.assertEqual(2 * 3, 6)
# 测试模块2
class TestModule2(unittest.TestCase):
def test_case1(self):
self.assertEqual(3 - 1, 2)
def test_case2(self):
self.assertEqual(4 / 2, 2)
# 多线程执行测试用例
def run_tests(test_cases):
suite = unittest.TestSuite()
for test_case in test_cases:
suite.addTest(unittest.makeSuite(test_case))
runner = unittest.TextTestRunner()
runner.run(suite)
if __name__ == '__main__':
# 分别创建两个测试模块的测试用例
test_cases1 = [TestModule1]
test_cases2 = [TestModule2]
# 创建两个线程分别执行两个测试模块的测试用例
thread1 = threading.Thread(target=run_tests, args=(test_cases1,))
thread2 = threading.Thread(target=run_tests, args=(test_cases2,))
thread1.start()
thread2.start()
# 等待两个线程执行完毕
thread1.join()
thread2.join()
这个例子中,我们分别创建了两个测试模块,每个测试模块有两个测试用例。然后我们使用多线程的方式,分别执行两个测试模块的测试用例。最后,我们等待两个线程执行完毕,程序结束。
原文地址: https://www.cveoy.top/t/topic/bNrk 著作权归作者所有。请勿转载和采集!