使用arg

时间:2017-08-24 05:55:21

标签: python pytest fixtures

我曾经使用像

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

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

2 个答案:

答案 0 :(得分:1)

我目前正在使用参数列表,因为不推荐传递字符串。在你的情况下,我认为这应该工作:

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

答案 1 :(得分:0)

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

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

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