来自生成器的 Python Nose 测试未同时运行

标签 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)

我希望这五个测试与 nosetests --processes=8 并行运行,因此运行时间大约为一秒——然而,运行只需要五秒多一点:它们出现顺序运行而不是同时运行。

根据 nose 文档,多进程插件从 1.1 开始就支持测试生成器(正如 nose 文档对它们的称呼):我使用的是 nose 1.3.0,因此应该支持它。添加 _multiprocess_can_split_ = True 确实会有所不同,正如人们所期望的那样,因为没有使用固定装置。

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

最佳答案

根据 nose 的作者,on the mailing list ,多进程插件不适用于 1.3 中的生成器 ( a known bug ),如果需要的话,他建议坚持使用 1.1。

关于来自生成器的 Python Nose 测试未同时运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16378996/

相关文章:

python - 在 python Elasticsearch 中滚动不起作用

linux - 骨架目录 : Why does script fail when nosetests returns no errors?

python - django 在 render_to_response() 之后注销我

Python/Sqlite3 : LEFT JOIN with GROUP_CONCAT

python - 更改 session 变量值失败

python - 使用 Nose 运行单元测试时抑制 Cherrypy 的输出

Python nose 关键测试与非关键测试

python - 我怎样才能模拟 sqlite3.Cursor

python - 如何让 nose 将案例输出记录到单独的文件中?

php - 什么 NLP 库适合对共享主机上的英文文本进行基本分析?