【自动化测试】Pytest框架 —— Pytest测试框架介绍_pytest框架详解(1)
Unittest是Python标准库中自带的单元测试框架,Unittest有时候也被称为PyUnit,就像JUnit是Java语言的标准单元测试框架一样,Unittest框架则是Python语言的标准单元测试框架。Unittest支持自动化测试,测试用例的初始化、关闭和测试用例的聚合等功能,它有一个很重要的特性:它是通过类(class)的方式,将测试用例组织在一起。的二次封装、报告邮件、断言体系的
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。




既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
正文
2、单元测试框架主要做什么
- 测试发现:从多个文件里面去找到我们需要的测试用例。
- 测试执行:按照一定的顺序和规则去执行测试用例,并生成结果。
- 测试判断:通过断言判断预期结果和实际结果的差异。
- 测试报告:统计测试进度,耗时,通过率等数据,并生成测试报告。
3、单元测试框架和自动化测试框架有什么关系
(1)自动化测试框架作用:
- 提高测试效率,降低自动化用例的维护成本。
- 减少人工干预,提高测试的准确性,增加代码的重用性。
- 核心思想是让不懂代码的人,也能够通过这个框架去实现自动化测试。
(2)Pytest单元测试框架和自动化测试框架的关系
单元测试框架:只是自动化测试框架中的组成部分之一。
pom设计模式、数据驱动、关键字驱动、全局配置文件的封装、日志监控、Selenium和Requests的二次封装、报告邮件、断言体系的设计封装等,都是自动化测试框架中的组成部。
4、Pytest测试框架说明
Pytest是Python的⼀种单元测试框架,全功能且非常成熟,同⾃带的Unittest测试框架类似,相⽐于Unittest框架使⽤起来更简洁,效率更⾼。
Pytest测试框架,主要有以下几个特点:
- Pytest是一个非常成熟的Python的单元框架,比Unittest更灵活,容易上手。
- Pytest支持参数化配置。
- Pytest能够支持简单的单元测试和复杂的功能测试,还可以和Selenium,Requests,Appium结合实现web自动化,接口自动化,APP自动化。
- 执行测试过程中可以将某些测试跳过,或者对某些预期失败的case标记成失败,也支持重复执行失败的case。(跳过用例和reruns失败用例重试)
即:支持测试用例的skip和xfail处理。
- Pytest可以很好的和Jenkins进行持续集成。
- Pytest可以和
allure生成非常美观的测试报告。 - 在Pytest框架下可以执行Unittest框架的用例。
- Pytest有很多非常强大的第三方插件,并且这些插件能够实现很多实用的操作。
并且也可以自定义Pytest插件。
5、Pytest框架和Unittest框架区别
(1)Unittest
Unittest是Python标准库中自带的单元测试框架,Unittest有时候也被称为PyUnit,就像JUnit是Java语言的标准单元测试框架一样,Unittest框架则是Python语言的标准单元测试框架。
Unittest支持自动化测试,测试用例的初始化、关闭和测试用例的聚合等功能,它有一个很重要的特性:它是通过类(class)的方式,将测试用例组织在一起。
(2)Pytest
Pytest是Python的另一个第三方单元测试库。它的目的是让单元测试变得更容易,并且也能扩展到支持应用层面复杂的功能测试。
(3)区别
1)用例编写规则:
Unittest测试框架:
1、提供test.cases,test suites,test fixtures,test rurner相关类,让测试更加明确、方便、可控。
2、测试文件编写前,必须先导入Unittest测试框架,import unittest。
3、测试类必须继承unittest.TestCase类,且测试类要Test_开头。(可去掉横线,下同)
4、测试方法要以test_开头。
5、测试类必须要用unittest.main()方法执行。
Pytest测试框架:
1、基于Unittest的扩展框架,比Unittest更简洁、更高效。
2、测试文件必须test_开头。
3、测试类命名必须以test_开头。
4、测试方法必须test_开头(函数也一样)。
(规则可自定义。)
- 总结:
Unittest:用例格式复杂,不能兼客Pytest用例。
Pytest:用例格式简单,可以兼容Unittest用例。
2)用例的前置和后置:
Unittest测试框架:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-rYVT2WyP-1713443947933)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
更多推荐




所有评论(0)