鉴于以下内容:
from time import sleep
def runTest(a):
sleep(1)
assert a >= 0
def test_all():
for i in range(5):
yield (runTest, i)
我希望这五个测试能够与nosetests并行运行–processes = 8并因此在大约一秒钟内运行 – 然而,运行只需要五秒钟:它们似乎是顺序运行而不是同时运行.
根据鼻子文档,多进程插件支持测试生成器(因为鼻子文档调用它们)自1.1:我使用鼻子1.3.0所以应该支持它.添加_multiprocess_can_split_ = True确实会产生任何差异,正如人们所预料的那样,因为没有使用灯具.
如何让这五个测试同时运行?
解决方法:
根据鼻子的作者on the mailing list,多进程插件不能与1.3(a known bug)中的生成器一起使用,如果需要它可以工作,他建议坚持使用1.1.