python:pytest 查找测试用例的原则pytest运行方式详解及其参数

pytest 查找测试用例的原则

  1. 指定命令行参数时的查找原则:如果指定了命令行参数,则根据命令行参数执行。
  2. 未指定命令行参数时的查找原则:如果未指定命令行参数(即直接在命令行输入 pytest),则从 testpath(已配置)或从当前目录开始查找可用的测试用例, 其步骤如下:
    1. 搜索由任何符合以下规则的文件 test_*.py 或 *_test.py 文件。
    2. 找到后,从这些文件中,收集如下测试项:test 为前缀的函数;Test 为前缀的类里面的以 test 为前缀的函数

pytest 运行方式详解及其参数
pytest 有两个测试运行方式,命令行运行和 pytest.main() 运行。

  1. 命令行运行
python -m pytest [...]
  1. pytest.main() 运行:pytest 还支持在程序中运行,在程序中运行的命令如下
pytest.main([...])

参数:不管是使用命令行运行或者使用 pytest.main() 的方式运行,它们支持的参数都是一样的。需要注意的是:pytest 的参数必须放在一个 list 或者 tuple 里。

-m: 用表达式指定多个标记名。
pytest 提供了一个装饰器 @pytest.mark.xxx,用于标记测试并分组(xxx是你定义的分组名),以便你快速选中并运行,各个分组直接用 and、or 来分割。

-v: 运行时输出更详细的用例执行信息
不使用 -v 参数,运行时不会显示运行的具体测试用例名称;使用 -v 参数,会在 console 里打印出具体哪条测试用例被运行。

-q: 类似 unittest 里的 verbosity,用来简化运行输出信息。
使用 -q 运行测试用例,仅仅显示很简单的运行信息, 例如:

-k: 可以通过表达式运行指定的测试用例。
它是一种模糊匹配,用 and 或 or 区分各个关键字,匹配范围有文件名、类名、函数名。

-x: 出现一条测试用例失败就退出测试。
在调试时,这个功能非常有用。当出现测试失败时,停止运行后续的测试。

如:

pytest.main(["-v"])
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值