我正在尝试通过程序调用将 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。
答案 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}")