用户可以运行如下的测试用例
python /test/submit.py --pytest-args "test/cases/"
这将作为
运行pytest.main("test/cases/")`
submit.py
argparse parse参数需要('--pytest-args', default='', type=str)
submit.py
是一个模块,其中一个def [如initiate_test()
]将按空格分割 - pytest-args ,并根据相同的分割运行pytest < EM> - pytest-ARGS
现在我希望以忽略 test_name 的方式传递--pytest-args
。
但-ignore
或-k
没有按照我的预期行事。
以下是我尝试-ignore
或-k
的方式。
-ignore
似乎仅限于目录&amp;模块。
python /test/submit.py --pytest-args "test/cases/ --ignore=test/cases/test.py::test_class::test_name"
虽然-k=test_name
选择性地运行,但-k!=test_name
没有取消选择。
`python /test/submit.py --pytest-args "test/cases/ -k!=test_name"`
我还尝试使用
等a='-k not (test_name)'
之类的shell参数
python /test/submit.py --pytest-args "test/cases/ $a"
这不起作用,因为 $ a 中有空格。
注意:我无法访问 test.py 或 submit.py ,因此我无法使用标记。所以解决方案应该是CLI。
答案 0 :(得分:3)
使用python /test/submit.py --pytest-args "test/cases/ -k-test_name
注意,当传递给-
参数时,要跳过的测试以-k
开头。