Python单元测试框架pytest的安装及应用是什么
Admin 2022-08-05 群英技术资讯 444 次浏览
pytest是python语言中一款强大的单元测试框架,用来管理和组织测试用例,可应用在单元测试、自动化测试工作中。
unittest也是python语言中一款单元测试框架,但是功能有限,没有pytest灵活。
就像:苹果电脑mac air和mac pro一样。都是具备同样的功能,但是好用,和更好用。
本文包含以下几个内容点:
下面是一个简单的例子:
import random def test_demo(): assert 7 == random.randint(0,10)
运行结果如下:
============================= test session starts ============================= platform win32 -- Python 3.7.2, pytest-4.6.3, py-1.8.0, pluggy-0.12.0 rootdir: D:\Pychram-Workspace\STUDY_PYTEST plugins: allure-pytest-2.6.5, html-1.21.1, metadata-1.8.0, rerunfailures-7.0collected 1 item simple.py F simple.py:10 (test_demo) 7 != 6 Expected :6 Actual :7 ========================== 1 failed in 0.14 seconds ===========================
安装命令:
pip install pytest
pytest的特征如下:
那么pytest是如何自动识别测试用例的呢?我们在编写pytest用例的时候,需要遵守哪些规则呢?
识别规则如下:
1、搜索根目录:默认从当前目录中搜集测试用例,即在哪个目录下运行pytest命令,则从哪个目录当中搜索;
2、搜索规则:
1)搜索文件:符合命名规则 test_*.py 或者 *_test.py 的文件
2)在满足1)的文件中识别用例的规则:
示例:在D:\pycharm_workspace目录下,创建一个python工程,名为study_pytest。在工程下,创建一个python包,包名为TestCases。
在包当中,创建一个测试用例文件:test_sample_1.py。文件内容如下:
#!/usr/bin/python3 # -*- coding: utf-8 -*- # 定义py文件下的测试用例 def test_sample(): print("我是测试用例!") class TestSample: def test_ss(self): print("我也是测试用例!") def hello_pytest(self): print("hi,pytest,我不是用例哦!!")
按照上面定义的搜索规则,需要跳转到工程目录,然后再执行命令:pytest -v
。 执行结果如下:
让我们愉快的加进来第2个测试文件:test_sample_2.py,内容如下:
#!/usr/bin/python3 # -*- coding: utf-8 -*- def add(a,*args): sum = a for item in args: sum += item return sum def test_add_two_number(): assert 33 == add(11,22) assert 55.55 == add(22.22,33.33) def test_add_three_number(): assert 101 == add(10,90,1)
再次运行命令:pytest -v
得到如下结果:
通过多个用例文件的执行,可以看出用例的执行顺序。
原则:先搜索到的py文件中的用例,先执行。在同一py文件当中,按照代码顺序,先搜索到的用例先执行。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
字符串英文名string,简称str。 字符串就是由一个个字符连接起来的组合, 你平时所见的字母、数字、汉字、符号都是字符。
这篇文章主要和大家分享三个Python中提取人脸特征的方法,文中的示例代码讲解详细,对我们学习Python有一定的帮助,需要的可以参考一下
这篇文章主要介绍了Python制作当年第一款手机游戏-贪吃蛇游戏,文章利用Python pygame做一个贪吃蛇的小游戏而且讲清楚每一段代码是用来干嘛的,需要的朋友可以参考一下
requests是一个很实用的Python HTTP客户端库,爬虫和测试服务器响应数据时经常会用到,下面这篇文章主要给大家介绍了关于python中requests库安装与使用的相关资料,需要的朋友可以参考下
这篇文章主要介绍Python内置对象的内容,在Python学习中,python常用的内置对象是比较基础的知识,下文给大家简单介绍常用的python内置对象、变量、整数、浮点数、布尔类型、字符串类型和注释等知识,有需要的朋友可以看看,希望大家阅读完这篇文章能有所收获。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008