大家好,我是在升职加薪道路上越奋斗头发越少的阿茅。

今天来跟想入门还徘徊在门外的小白们聊一聊

1.安装和简单使用

2.配置文件

3.断言

一. 第1步 (安装和简单使用)

pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下6点:

• 1、简单灵活,容易上手,文档丰富;

• 2、支持参数化,可以细粒度地控制要测试的测试用例;

• 3、能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests);

• 4、pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等;

• 5、测试用例的skip和xfail处理;

• 6、可以很好的和CI工具结合,例如jenkins

喜欢编程的小伙伴可以加小编的Q群867067945,进群可以领取免费的学习资料哦,群里还有大佬给你解答你的问题!

安装

简单使用

新建一个文件,输入以下代码:

在文件的目录下,执行pytest命令,pytest将运行当前目录及其子目录下所有名称为“test_.py” 或 “”的文件

我们使用了assert语句来验证测试期望值,pytest中有一种断言反思机制,能智能地报告assert表达式的中间值,这个测试返回了一个失败报告,因为inc(3)没有返回5

二. 第二步 —— 配置文件

pytest配置文件可以改变pytest的运行方式,它是一个固定的文件文件,读取配置信息,按指定的方式去运行。

addopts

addopts参数可以更改默认命令行选项,这个当我们在cmd输入指令去执行用例的时候,会用到,比如我想测试完生成报告,指令比较长

每次输入这么多,不太好记住,于是可以加到里

在配置文件中修改 addopts = -s —html=

这样我下次打开cmd,直接输入pytest,它就能默认带上这些参数了

testpaths

默认的情况下,pytest将会进入到当前目录下的目录和文件中,去收集测试用例(test_开头的函数)。但是很多时候我们只想搜索固定的某一个文件夹,比如项目目录下的scripts文件夹。这样的话,我们可以通过配置文件来是想这个功能

pytest默认会找test开头的py文件,如果我们想指定某个文件或者指定某些有规律的文件名可以使用这个参数来进行修改

pytest默认会找Test开头的类,如果我们想指定某个类或者指定某些有规律的类名可以使用这个参数来进行修改

pytest默认会找test开头的函数,如果我们想指定某个函数或者指定某些有规律的函数名可以使用这个参数来进行修改

三. 第三步 —— 断言

编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设。断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。

assert 预期结果 == 实际结果

首先这个 3 是一个预期的结果,sum_num是实际的结果,框架会自动判断二者是否是 == 的关系,如果是,则断言成功,脚本通过。如果不是,则断言失败,脚本不通过。

总结
pytest 还有非常多用法,比如fixture,各式各样的第三方插件。

上面就是pytest的一个简单的入门。如果再学习到更多的相关知识。我们就可以结合上面的内容来做基本的自动化测试了。

最后如果认可阿茅写的文章可以关注我,不定时分享干货知识。

喜欢编程的小伙伴可以加小编的Q群867067945,进群可以领取免费的学习资料哦,群里还有大佬给你解答你的问题!

gtest测试框架使用详解_【python】新手小白必看,教你如何使用全功能Python测试框架 - python秋枫...相关推荐

  1. JVM 虚拟机详解内部原理(小白必看!)

    前言 作为一名Java软件开发程序猿,不了解JVM?那么你就只能干CRUD的工作! 前几天刚学习了JVM,把学习到的经验在这里和大家分享下,有啥意见,欢迎在下方评论交流! 1.什么是JVM? JVM全 ...

  2. 新手python爬虫代码_新手小白必看 Python爬虫学习路线全面指导

    爬虫是大家公认的入门Python最好方式,没有之一.虽然Python有很多应用的方向,但爬虫对于新手小白而言更友好,原理也更简单,几行代码就能实现基本的爬虫,零基础也能快速入门,让新手小白体会更大的成 ...

  3. micropython视频_零基础如何优雅入门“网红”Python?小白必看的MicroPython视频合集:从入门到精通!...

    零基础如何优雅入门"网红"Python?小白必看的MicroPython视频合集:从入门到精通! 若问时下最火的一门编程语言是什么?答案一定是Python. 就连高考都开始考Pyt ...

  4. c fread 快读 详解_万事开头难,手把手教你搭建Appium自动化测试环境,实践案例详解...

    随着移动互联网的发展,各行各业纷纷引入了移动端相关测试技术,很多公司都已经研发了基于Web前端与App端的相关应用程序,为了更好的保证软件测试的质量,移动端自动化测试已走进测试世界,随着终端特性的多机 ...

  5. java io流详解_一文带你看懂JAVA IO流,史上最全面的IO教学啦

    一.IO流是什么 惯例引用百科的回答流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列.从流中取得数据的操作称为提取操作,而向流中添加数据的操作 ...

  6. python删除文件夹无法访问_零基础小白必看:python基本操作-文件、目录及路径

    使用python的os模块,简单方便完成对文件夹.文件及路径的管理与访问操作. 1 前言 在最近开发中,经常需要对文件进行读取.遍历.修改等操作,想要快速.简单的完成这些操作,我选择用 python ...

  7. python目录及文件_零基础小白必看:python基本操作-文件、目录及路径

    1 前言 在最近开发中,经常需要对文件进行读取.遍历.修改等操作,想要快速.简单的完成这些操作,我选择用 python .通过 python 的标准内置 os 模块,只需要几行代码,即可完成想要的操作 ...

  8. python代码_零基础小白必看篇:Python代码注释规范代码实例解析操作(收藏)

    本文内容主要介绍了Python代码注释规范代码实例解析,通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下!!! 一.代码注释介绍 注释就是对代码的解释和说明 ...

  9. Python 基础入门大合集,新手小白必看!

    Python 入门 一.第一个 Python 程序 >>> print("Hello world!") 二.变量和简单数据类型 >>> mess ...

最新文章

  1. 缓存初解(四)---Ibatis的缓存配置+Ehcache
  2. 简单的对象监听器 观察者设计模式
  3. 3.6 BatchNorm 为什么起作用-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
  4. Apache的虚拟主机配置
  5. 文件操作(上传,下载,限制)
  6. 【英语学习】【WOTD】bathetic 释义/词源/示例
  7. Java虚拟机(十二)——StringTable
  8. 根据年度判断是否是闰年
  9. iOS底层探索之多线程(二)—线程和锁
  10. 【vuejs】有关UI框架“ydui”中的倒计时组件的使用
  11. 现在能否办理5G卡?联通:尚未对公众客户开放办理
  12. 冰冻三尺非一日之寒——大型网站架构演进
  13. 【无标题】汇编实现从键盘输入并输出
  14. pairs 和 ipairs区别
  15. mit数据库 matlab,[zz]MIT-BIH开放数据库使用指南
  16. 中国十大可行性研究报告公司
  17. 机器学习算法竞赛平台整理
  18. Petalinux入门教程一、使用.xsa文件新建petaLinux工程
  19. 一次网络请求是如何实现的
  20. Java实现彩票大乐透、双色球机选号

热门文章

  1. 又爆作弊丑闻?AAAI 2023审稿人被作者找上门,才发现rebuttal阶段审稿人互相可见...
  2. linux服务器上装r,linux服务器安装R语言及Rstudio server
  3. 百度地图--展示行政区划(省市区县)和添加多个标注点案例
  4. IGBT器件选型参考
  5. gitlab创建merge requests
  6. Flutter网络请求
  7. 计算机usb接口是一种通用,USB接口大科普,你用的是哪一种?
  8. linux mysql 软连接_linux 软连接的使用
  9. 轨道机动算法的C++实现
  10. 安卓交流社区!阿里P8架构师的Android大厂面试题总结,详细的Android学习指南