Python鼻子测试来自生成器并不同时运行

gsn*_*ers 5 python nose

鉴于以下内容:

from time import sleep

def runTest(a):
    sleep(1)
    assert a >= 0

def test_all():
    for i in range(5):
        yield (runTest, i)
Run Code Online (Sandbox Code Playgroud)

我希望这五个测试能够并行运行nosetests --processes=8并因此在大约一秒钟内运行 - 然而,运行只需要超过五秒钟:它们似乎是按顺序运行而不是同时运行.

根据鼻子文档,多进程插件支持测试生成器(因为鼻子文档调用它们)自1.1:我使用鼻子1.3.0所以应该支持它._multiprocess_can_split_ = True正如人们所预料的那样,添加确实会有所不同,因为没有使用灯具.

如何让这五个测试同时运行?

gsn*_*ers 5

根据鼻子的作者,在邮件列表中,多进程插件不能与 1.3 中的生成器一起工作(一个已知的错误),如果需要它工作,他建议坚持使用 1.1。