pytest教程-3-常见命令汇总

发布时间:2024年01月08日

欢迎大家搜索关注微信公众号“米兔软件测试”,测试开发工程师技术修炼小站,持续分享测试干货。

上一小节中,我们掌握了pytest的几种用例运行方法,这一小节我们梳理汇总一下pytest常见的命令。

首先讲一下pytest测试用例的运行结果,一般有以下几种状态:

括号中表示状态缩写

  • PASSED(.):代表测试通过
  • FAILED(F):代表测试失败
  • SKIPPED(s):代表测试跳过(实际上未执行),可以使用@pytest.mark.skip()或则@pytest.mark.skipif()这两个装饰器将测试用例标记为跳过,后续的章节会详细讲
  • xfail(x): 代表预期测试失败,并且确实失败,可以使用@pytest.mark.xfail()指定你认为会预期失败的测试用例
  • XPASS(x):代表预期测试失败,但实际上运行通过,不符合预期
  • ERROR(E):代表测试错误,即测试用例之外的代码触发了异常报错

pytest常见的命令行参数整理汇总:

在cmd命令行中,执行命令 pytest --help,,就可以查看pytest常见的命令行参数

接下来我们逐一解释,这些命令行参数

--collect-only选项

代表在给定的配置下统计哪些测试用例会被执行

示例:执行命令pytest ./test --collect-only

可以统计出来test目录下,有多少测试用例会被执行

-k选项

代表允许你使用关键字来指定你希望运行的测试用例,这个功能非常实用。如果测试名是唯一的,或者多个测试名的前缀或后缀相同,那么可以使用关键字来快速定位。

示例:执行命令pytest ./test -k "one or two"

test目录下,测试函数名包含字符串“one”或“two”的用例会被执行,以下定位并执行了6条用例。

-m选项

代表可以标记测试用例并将其分组,以便快速选中并运行。常用的使用场景比如我们平时的测试中,会将一些核心的用例标记为smoke冒烟用例,冒烟用例执行通过了,代表这个需求可以提测了

示例:执行命令pytest ./test -m "smoke"

test目录下,被装饰器@pytest.mark.smoke装饰过两个测试用例,被定位执行了

-v选项

代表pytest会输出更加详细的日志,方便定位问题

示例:pytest -v .\test\test_demo.py

-q选项

代表会简化pytest的日志信息,与-v选项功能相反

示例:pytest -q .\test\test_demo.py

-x选项

代表多个用例执行时,如果有一个用例执行失败了,就不会执行后面的测试用例了,如果没有使用-x命令,就会继续执行后面的用例

示例: pytest -x ,test目录下test_demo模块中有失败用例,后面的其他模块的用例就不会执行了

--maxfail=num选项

与-x命令类似,-x命令的特点是一旦遇到测试失败,就全局停止。--maxfail选项允许你失败几次后再停止

示例:pytest --maxfail=3,允许3次失败后再停止

--lf选项

当一个或者多个测试失败时,我们常常希望能够定位到最后一个失败的测试用例,并让它重新运行,这时候可以使用--lf选项

示例:pytest -lf,只会运行上一次失败过得测试用例

--ff选项

与--lf选项类似,--lf只会运行上次失败的用例,而--ff会先运行上次失败的用例,然后会将其余剩下的用例也执行完毕

示例:pytest -ff

--version选项

代表查看pytest的版本号

文章来源:https://blog.csdn.net/qq_22357323/article/details/135424972
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。