使用parallel.futures.ProcessPoolExecutor和Pytest

时间:2019-08-26 11:13:32

标签: python-3.x concurrent.futures

我正在用Pytest测试的函数中使用ProcessPoolExecutor。这是一个示例:

from concurrent.futures import ProcessPoolExecutor

def add(x):
    return x + 1

with ProcessPoolExecutor(2) as executor:
    executor.map(add,range(10))

该函数挂起,因为我在Pytest环境中执行。是将Pytest中的Pools处理如下的最佳方法:

import sys        
if 'pytest' in sys.argv[0]:
    from concurrent.futures import ThreadPoolExecutor as Executor
else:
    from concurrent.futures import ProcessPoolExecutor as Executor

def add(x):
    return x + 1

with Executor(2) as executor:
    executor.map(add,range(10))

0 个答案:

没有答案