Docker部署个人博客(Springboot)

2021-8-20 384. 打乱数组(洗牌算法)

  返回  

pytest多线程或多进程执行测试用例

2021/8/20 12:01:41 浏览:

pytest多线程或多进程执行测试用例

  • 使用多进程多线程执行用例时
    用例之间都是独立的,执行没先后顺序
  • 安装库
    pip install pytest-parallel
  • 命令参数

–workers=n *:多进程运行需要加此参数, n是进程数。默认为1。 –tests-per-worker
(optional) *:多线程运行, *是每个worker运行的最大并发线程数。默认为1

  • 四个测试用例为例
class TestStandardDataset01:
    def test1(self):
        print('test1执行---------')
        time.sleep(2)

    def test2(self):
        print('test2执行---------')
        time.sleep(2)

    def test3(self):
        print('test3执行---------')
        time.sleep(2)

    def test4(self):
        print('test4执行---------')
        time.sleep(2)

  • 不开启进程线程(耗时8.04s)
if __name__ == '__main__':
    pytest.main(['demo.py','-s'])

demo.py test1执行---------
.test2执行---------
.test3执行---------
.test4执行---------
====== 4 passed in 8.04s ==========
  • 开启一个进程4个线程(耗时2.07s)
if __name__ == '__main__':
	pytest.main(["demo.py","-s", '--workers=1', '--tests-per-worker=4'])
pytest-parallel: 1 worker (process), 4 tests per worker (threads)
test1执行---------
test3执行---------
test4执行---------
test2执行---------
........
========= 4 passed in 2.07s =======
  • 开启2个进程2个线程(耗时2.07s)
if __name__ == '__main__':
    pytest.main(["demo.py","-s", '--workers=2', '--tests-per-worker=2'])
   #2个进程并行,且每个进程最多2个线程运行,即总共最多4个线程运行
collected 4 items
pytest-parallel: 2 workers (processes), 2 tests per worker (threads)
test2执行---------
test4执行---------
test1执行---------
test3执行---------
........
========= 4 passed in 2.06s =======

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号