gpt4 book ai didi

python - 测试 CLI : how can i ignore test case by name?

转载 作者:太空宇宙 更新时间:2023-11-04 00:28:59 25 4
gpt4 key购买 nike

用户可以像下面这样运行测试用例

python /test/submit.py --pytest-args "test/cases/"

这将运行为

pytest.main("test/cases/")`

submit.py argparse 解析参数需要 ('--pytest-args', default='', type=str)

submit.py 是一些模块,其中一个 def [如 initiate_test()] 将拆分 --pytest-args空间,并基于相同的拆分运行 pytest --pytest-args

现在我想以忽略 test_name 的方式传递 --pytest-args

但是 -ignore-k 没有按照我的预期进行。

下面是我如何尝试 -ignore-k

-ignore 似乎仅限于目录和模块。

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"`

我还尝试了 shell 参数,例如 a='-k not (test_name)'

python /test/submit.py --pytest-args "test/cases/ $a" 

这不起作用,因为 $a 中有空间。

注意:我无权访问 test.pysubmit.py,因此我无法使用标记。所以解决方案应该与 CLI 相关。

最佳答案

使用 python/test/submit.py --pytest-args "test/cases/-k-test_name

请注意,当传递给 -k 参数时,要跳过的测试以 - 开头。

也可以将命令行参数拼写为 -k 'not test_name'

关于python - 测试 CLI : how can i ignore test case by name?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46501686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com