Python单元测试多个线程

时间:2014-09-19 11:17:44

标签: python unit-testing

我正在测试一个Web应用程序,而且我已经使用unittest编写了一些测试。有一些必要的步骤,如授权,交换正在测试的数据等等。现在我想测试一下客户端是否一切正常。实际上,我想在单独的线程中为每个客户端调用相同的测试,收集所有返回代码并打印结果。我的问题是如何在python中创建这样的线程? (我在bash中的临时解决方案产生了多个python进程)

让我们考虑一个例子:

import unittest

class Test(unittest.TestCase):

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def testName(self):
        pass

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

thread.start_new_thread(unittest.main)#something like this不起作用

1 个答案:

答案 0 :(得分:2)

谷歌周围,有一些预先安排的选项。 Nose似乎很常见。

否则对于我的一个项目,这适用于我的python 3.3

if __name__ == "__main__":
    from multiprocessing import Process
    procs=[]
    procs.append(Process(target=unittest.main, kwargs={'verbosity':2}))
    procs.append(Process(target=unittest.main, kwargs={'verbosity':2}))
    for proc in procs:
        proc.start()
    for proc in procs:
        proc.join()

如果您只想运行特定测试,请执行上述操作,但请使用unittest中的套件。