pytest是python语言中一款强大的单元测试框架,用来管理和组织测试用例,可应用在单元测试、自动化测试工作中。unittest也是python语言中一款单元测试框架,但是功能有限,没有pytest灵活。
就像:苹果电脑mac air 和mac pro一样。都是具备同样的功能,但是好用,和更好用。
本文包含以下几个内容点:
01、pytest的简单示例
02、pytest的安装
03、pytest的特征、与unittest的区别
04、pytest如何自动识别用例
05、pytest框架中,用例的运行顺序
一、Pytest写用例
pytest写用例很简单,下面是一个简单的例子:
运行结果如下:
二、Pytest的安装
安装命令:pip install pytest
三、Pytest的特征,与Unittest区别
pytest的特征如下:
◆ 自动识别测试用例(unittest当中,需要引入TestSuite,主动加载测试用例。)
◆ 简单的断言表达:assert 表达式即可(unittest当中,self.assert*)
◆ 有测试会话、测试模块、测试类、测试函数级别的fixture(unittest当中是测试类、测试函数级别的fixture)
◆ 有非常丰富的插件,目前在600+,比如allure插件(unittest无)
◆ 测试用例不需要封装在测试类当中(unittest中需要自定义类并继承TestCase)
那么pytest是如何自动识别测试用例的呢?我们在编写pytest用例的时候,需要遵守哪些规则呢?
四、Pytest如何自动识别用例
识别规则如下:
◆ 搜索根目录:默认从当前目录中搜集测试用例,即在哪个目录下运行pytest命令,则从哪个目录当中搜索;
◆ 搜索规则:
1)搜索文件:符合命名规则 test_*.py 或者 *_test.py 的文件
2)在满足1)的文件中识别用例的规则:
以test_开头的函数名;
以Test开头的测试类(没有init函数)当中,以test_开头的函数
示例:在D:\pycharm_workspace目录下,创建一个python工程,名为study_pytest。
在工程下,创建一个python包,包名为TestCases。
在包当中,创建一个测试用例文件:test_sample_1.py。
文件内容如下:
按照上面定义的搜索规则,需要跳转到工程目录,然后再执行命令:pytest -v 。
执行结果如下:
让我们愉快的加进来第2个测试文件:test_sample_2.py
内容如下:
再次运行命令:pytest -v
得到如下结果:
通过多个用例文件的执行,可以看出用例的执行顺序。
五、Pytest中用例的执行顺序
原则:先搜索到的py文件中的用例,先执行。
在同一py文件当中,按照代码顺序,先搜索到的用例先执行。
面分享一些我收藏资料,希望可以帮到大家
这份资料整体是围绕着【软件测试】来进行整理的,主体内容包含:python自动化测试专属视频、Python自动化详细资料、全套面试题等知识内容。对于软件测试的的朋友来说应该是最全面和完整的备战仓库了,这个仓库也陪伴我走过了很多坎坷的路,希望也能帮助到你。关注微信公众号:程序员二黑,就可以直接获取了