pytest知识点整理

Pytest知识整理

1.pytest用例规则

  • 测试文件以test_开头(以__test结尾也可以)

  • 测试类以Test开头,并且不能带有init方法

  • 测试函数以test_开头

  • 断言使用assert

  • 所有的包pakeage必须要有init.py文件

2.执行用例规则

  • 1.执行某个目录下所有的用例 pytest 文件名/

  • 2.执行某一个py文件下用例 pytest 脚本名称.py

  • 3.-k 按关键字匹配 pytest -k "MyClass and not method"

  • 4.按节点运行 test_mod.py::test_func

  • 5.标记表达式 -m

  • 6.从包里面运行 pytest --pyargs pkg.testing

  • 7.-x遇到错误时停止测试

  • 8.--maxfail=num

3.断言

  • assert

4.setup和teardown

  • 模块级(setup_module/teardown_module)开始于模块始末,全局的

  • 函数级(setup_function/teardown_function)只对函数用例生效(不在类中)

  • 类级(setup_class/teardown_class)只在类种前后运行一次(在类中)

  • 方法级(setup_method/teardown_method)开始于方法始末(在类中)

  • 类里面的(setup/teardown)运行在调用方法的前后

5.执行顺序

setup_module>setup_function>teardown_function>setup_class>setup_method>setup>teardown>teardown_method>teardown_class>teardown_module

6.fixture之conftest.py(对比setup和teardown的优势)--前置

  • 命名方式灵活,不局限于set和teardown

  • conftest.py配置里可以实现数据共享,不需要import就能自动找到一些配置

  • scope="module"可以实现多个.py跨文件共享前置,每一个.py文件调用一次

  • scope="session"以实现多个.py跨文件使用一个session来完成多个用例

7.fixture之yield实现teardown后置处理

  • yield遇到异常

1.如果其中一个用例出现异常,不影响yield后面的teardown执行,运行结果不影响,并且全部用例执行之后,yield呼唤teardown操作
  • 如果setup就异常了,那么是不会去执行yield后面的teardown内容了

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值