Py.Test以编程方式调用时找不到pytest-parallel

时间:2019-12-23 00:46:06

标签: python parallel-processing pytest pytest-parallel

我正在尝试通过程序调用将 parallel 参数发送给 pytest ,但似乎没有像 parallel 那样识别它们完全安装了,除了我知道在那里,因为当我使用包含相同参数的直接命令行调用运行 py.test 时,它将找到并成功运行。

  

错误:用法:invoke_pytest.py [选项] [file_or_dir] [file_or_dir] [...]   invoke_pytest.py:错误:无法识别的参数:--workers 1 --tests-per-worker 4

这是我的代码:

import os
import sys
import pytest


pytest_args = [
    "tests/bdd",
    '--rootdir=tests/bdd',
    "--workers 1",
    "--tests-per-worker 4"
    # ...
]
result = pytest.main(pytest_args)
print(f"RESULT {result}")

尽管似乎无关,但我还在此测试套件中使用了py.test bdd和splinter。

1 个答案:

答案 0 :(得分:0)

找出它是 py.test 以编程方式解析参数的方式,与并行无关。每个参数的值都必须是列表的独立位置!

# ...
pytest_args = [
    "tests/bdd",
    '--rootdir=tests/bdd',
    "--workers", "1",
    "--tests-per-worker", "4", # splitted argument and value
    # ...
]
result = pytest.main(pytest_args)
print(f"RESULT {result}")