单元测试框架Pytest

pytest是第三方库,使用前要先进行安装 pip install pytest

pytest单元测试框架的核心功能:

  • 收集用例:进入目录,运行pytest
  • 指定用例函数的定义规则:要以test开头的用例,支持普通函数,测试类
  • 自动执行用例:如果不能识别,需要修改pycharm默认的执行器改成pytest
  • 前置和后置夹具
  • 断言:pytest直接用关键字assert 表达式
  • 生成测试报告 :pytest  --html=报告名称

1.编写测试用例

 pytest用例编写规则很灵活:

  1. 直接定义函数,不需要测试类
  2. 编写测试类,不继承 unittest.TestCase
  3. 编写测试类,继承 unittest.TestCase,可以直接迁移(兼容)

 

 前两种方法前面没有运行播放键,所以我们需要去修改pycharm默认的执行器

点击【File】-->【Settings】-->【Tools】-->【Python Integrated Tools】-->

找到【Default test runner】点击下拉框选择pytest

设置完成后再查看,三种方法前面都有运行播放键

 

2.执行测试用例

2.1命令执行测试用例

相比unittest来说,pytest不用编写特意收集用例的代码,进入相应目录执行命令即可

进入项目的目录执行运行用例时,收集的是整个项目下所有的用例,而进入指定的cases包下执行运行用例时,收集的用例只量这个cases包下的用例数量

 2.2代码执行测试用例

run.py模块位置放在哪,执行的就是这个包下所有以test开头的模块的测试用例

修改run.py代码如下:(根目录下的run.py)

import pytest

# 收集并且运行用例
pytest.main()

 运行结果:

修改run.py代码如下:(cases目录下的run.py)

运行结果:

3.断言

pytest中没有assertEqul,只有aseert,这个是经过pytest进行了封装后的关键字,相比unittest使用简单,不用写self

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值