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

鉴于以下内容:

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.

上一篇:python – 从覆盖率报告中删除包


下一篇:python – 编写单元测试类的__init__方法