考虑以下几点: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
的确会产生任何影响,因为不使用灯具。
如何让这五个测试同时运行?
我非常想知道为什么nose的多进程插件不能同时运行现有的测试,而不是将它们并行化到外部。 – gsnedders 2013-05-04 21:21:03
我不知道您使用的是什么设置,但此解决方案根本不起作用。所有测试都在相同的过程中运行,并按顺序运行。这是在鼻子1.3上完成的,使用了多种过程变量和nosetests命令的各种组合。问题似乎源于使用收益率。 – magixx 2014-09-23 16:58:50