pytest一:pytest 框架介绍
pytest 是 python 的一种单元测试框架,与python 自带的 unittest测试框架类似,但是比 unittest 框架使用起来更简洁,效率更高。
根据pytest 的官方网站介绍,它具有如下特点:
非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考
能够支持简单的单元测试呾复杂的功能测试
支持参数化
执行测试过程中可以将某些测试跳过(skip),或者对某些预期失败的 case 标记成失败
支持重复执行(rerun)失败的 case
支持运行由 nose, unittest 编写的测试 case
可生成 html 报告
方便的和持续集成工具 jenkins 集成
可支持执行部分用例
具有很多第三方插件,并且可以自定义扩展
安装 pytest:使用 pip 直接安装> pip install -U pytest
pytest 用例规则:
测试文件以 test_开头(以_test 结尾也可以)
测试类以 Test 开头,并且不能带有 init 方法
测试函数以 test_开头
断言使用 assert
用例设计原则:
文件名以 test_*.py 文件或*_test.py
以 test_开头的函数
以 Test 开头的类
以 test_开头的方法
所有的包 pakege 必项要有__init__.py 文件
pytest 运行规则:**查找当前目录及其子目录下以 test_*.py 或*_test.py 文件,找到文件后,在文件中找到以 test 开头函数并执行。
cmd运行:
打开 test_sample.py 所在的文件夹,cmd 窗口输入:pytest(或者输入 py.test 也可以)
pytest test_01_class.py # 指定运行test_01_class.py文件
pycharm运行:
以 pytest 方式运行,需要改该工程设置默认的运行器:
file->Setting->Tools->Python Integrated Tools->顷目名称->Default test runner->选择 py.test

新建一个 test_01_sample.py 文件,写以下代码


import pytest
def func(x):
return x+1 def test_answer():
assert func(3) == 5 if __name__ == '__main__':
pytest.main() # 运行当前脚本
pytest一:pytest 框架介绍的更多相关文章
- python pytest测试框架介绍二
在介绍一中简单介绍了pytest的安装和简单使用,接下来我们就要实际了解pytest了 一.pytest的用例发现规则 pytest可以在不同的函数.包中发现用例,发现的规则如下 文件名以test_开 ...
- Pytest框架介绍
Pytest框架介绍.安装 pytest是python测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,功能更强大 pytest特征 1:断言提示信 ...
- python pytest测试框架介绍一
一.安装 pytest不是python默认的package,需要自动手工安装. pytest支持python 2.6--3.5之间的版本,同时可以在unix及windows上安装 安装方式: pip ...
- [连载]《C#通讯(串口和网络)框架的设计与实现》-1.通讯框架介绍
[连载]<C#通讯(串口和网络)框架的设计与实现>- 0.前言 目 录 第一章 通讯框架介绍... 2 1.1 通讯的本质... 2 1 ...
- YARN基本框架介绍
YARN基本框架介绍 转载请注明出处:http://www.cnblogs.com/BYRans/ 在之前的博客<YARN与MRv1的对比>中介绍了YARN对Hadoop 1.0的完善.本 ...
- Selenium自动化测试框架介绍
Selenium自动化测试框架介绍 1.测试架构作用 a.可维护性 b.提高编写脚本效率 c.提高脚本的可读性 2.框架的几大要素: Driver管理,脚本,数据,元素对象,LOG,报告,运行机制,失 ...
- UiAutomator自动化测试框架介绍
UiAutomator自动化测试框架介绍 环境搭建 1 必要条件 1.1 JDK 1.2 SDK(API高于15) 1.3 Eclipse 2 ...
- [翻译]Spring框架参考文档(V4.3.3)-第二章Spring框架介绍 2.1 2.2 翻译--2.3待继续
英文链接:http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/overview.ht ...
- MJExtension框架介绍
MJExtension框架介绍 标签: MJExtension 2015-05-01 08:22 1120人阅读 评论(0) 收藏 举报 分类: Foundation(14) 版权声明:本文为博主 ...
随机推荐
- Git与GitHub的基本使用
Git与GitHub的基本使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Git的基本使用 1.版本库创建 a>.什么是版本库呢 版本库又名仓库,英文名reposit ...
- SQL记录-小表join大表查询例子
- go switch
go switch无需写break 写法1: func main() { var a int fmt.Scanf("%d\n", &a) switch a { case 1 ...
- ICS Hack Tools
参考链接:http://icstraining.org/en/security-tools/configurations ICS-Security-Tool: https://github.com/I ...
- 矩阵NumPy
常量: np.pi π 创建矩阵数组 import numpy as np # array=np.array([[1,2,3],[5,6,7]]) #定义一个2行3列的矩阵数组.2行=2维 # pri ...
- 文本编辑框QTextEdit
QTextEdit类是一个多行文本框控件,可以显示多行文本内容,当文本内容超出控件显示范围时,可以显示水平个垂直滚动条,Qtextedit不仅可以用来显示文本还可以用来显示HTML文档 import ...
- python时间序列画图plot总结
画图从直觉上来讲就是为了更加清晰的展示时序数据所呈现的规律(包括趋势,随时间变化的规律(一周.一个月.一年等等)和周期性规律),对于进一步选择时序分析模型至关重要.下面主要是基于pandas库总结一下 ...
- python技巧 一等函数
函数在python中作为一等函数,具有以下特点: 1.可以作为参数传递给其他函数 2.作为其他函数的值返回 3.能赋值给变量或数据结构中的元素 4.在运行的时候创建 In [1]: def add(x ...
- JavaScript学习 - 基础(七) - DOM event(事件)
DOM event(事件) 定义事件: // 定义事件: //方式一,直接在标签上定义事件 // 方式二: var a11 = document.getElementsByName('a11')[0] ...
- 同步sync 异步async
线程中 同步任务是串行队列,也就是按顺序执行. 同步任务:不会开辟新的线程,它是在当前线程执行的. dispatch 调度 GCD里面的函数都是以dispatch开头的. 同步任务 步骤: 1. ...