首页 技术 正文
技术 2022年11月12日
0 收藏 695 点赞 3,744 浏览 1333 个字

出处:https://www.cnblogs.com/yoyoketang/p/9356693.html

前言:

python鄙视链:pytest 鄙视 > unittest 鄙视 > robotframework 鄙视 > 记流水账 鄙视 > “hello world”小白

所以,让我们一起学习pytest吧。

pytest简介:

pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它具有如下特点:

  • 非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考
  • 能够支持简单的单元测试和复杂的功能测试
  • 支持参数化
  • 执行测试过程中可以将某些测试跳过(skip),或者对某些预期失败的case标记成失败
  • 支持重复执行(rerun)失败的case
  • 支持运行由nose, unittest编写的测试case
  • 可生成html报告
  • 方便的和持续集成工具jenkins集成
  • 可支持执行部分用例
  • 具有很多第三方插件,并且可以自定义扩展

一、pytest安装:

1. pip install -U pytest

接口自动化:pytest—-环境搭建

2.  pip show pytest查看安装版本

接口自动化:pytest—-环境搭建

3.  也可以pytest -version查看安装的版本

二、快速入手

—-运行第一个简单的函数

ok,如上环境安装成功了。下面通过具体的案例来入手吧。我们先编写一个简单的函数,通过pytest执行或者pytest -q 脚本名,指定脚本来执行。

接口自动化:pytest—-环境搭建接口自动化:pytest—-环境搭建

从上面的截图可以看出,第一个执行断言失败,第二个执行断言成功。

—-运行多个函数

在一个包中,或者说一个模块的文件中,它是有多个文件的,比如一个包中,pytest它是执行多个以test开头的模块脚本,我们先来看这种情况,在一个包中定义两个模块脚本,分别是test_first.py和test_second.py,如下图:

接口自动化:pytest—-环境搭建

—-运行类中的函数

通过执行pytest可以执行模块中的函数或者类中的方法,那么我们就来实现执行类中的测试函数,如下图:

接口自动化:pytest—-环境搭建

——-踩坑了。在之后的学习中,发现test_class.py这个脚本中的类函数无法使用setup_class和teardown_class。原因是以上的代码其实是unittest的脚本,搞混了。下面更改一个pytest调用类函数的脚本。

接口自动化:pytest—-环境搭建

三、总结

通过以上的三个练习,我们大致了解pytest的用例规则了吧。

1. 测试脚本名以test_开头(或以_test结尾也可以)

2. 测试脚本中若是执行函数,以test_开头

3. 测试脚本中若是执行一个类中的函数,测试类以Test开头,并且不能带有init方法

4. 断言使用assert

5. 执行文件下所有的测试脚本,命令为pytest【cd到对应文件下执行】     或者    pytest 文件名/

6. 执行文件下指定的测试脚本,命令为pytest -q 指定测试脚本名称【cd到对应文件下执行】    或者    pytest  文件名/脚本名

敲黑板:

pytest -s 脚本名     用例执行详细情况

pytest -x 脚本名     遇到错误时停止测试

pytest –maxfail= num    当用例错误个数达到指定数量时,停止测试

pytest -h    查看pytest帮助

ok啦。。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,088
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,564
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,412
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,185
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,822
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,905