运行 从带有 arg 的代码进行测试

Run tests from code with arg

我曾经 运行 使用类似

的命令进行测试
pytest.main('-s path_to_file --my_fixtures_arg1 arg_value')

目前,这样的调用被认为是过时的,您需要通过参数列表来调用此命令。但我无法以任何方式传递必要的参数。谁知道解决方法?

目前 pytest uses shlex.split 将字符串拆分为参数列表。

如果您的字符串来自数据库、配置文件等,您也可以这样做:

import shlex, sys
args_list = shlex.split(args_string, posix=sys.platform != "win32")

我目前正在使用参数列表,因为传递字符串已被弃用。在你的情况下,我认为这个应该有效:

arguments = ['-s', '--my_fixtures_arg1=arg_value', 'path_to_file']
pytest.main(args=arguments)