Pytest单元测试框架之简单操作示例
前言:
Pytest是第三方单元格测试框架,更加简单,灵活,而且提供了更多丰富的扩展;
Pytest与UnitTest框架的区别
UnitTest测试用例执行顺序是依照ascii码执行,而Pytest是根据测试用例顺序执行;

1、Pytest官方网站: https://docs.pytest.org/en/latest/
2、Pytest支持 pip 安装,pip3 install pytest,安装成功后直接导入包使用,如: import pytest
3、在Pytest中,它会寻找以test开头或test结尾的测试模块(test**.py、**test.py),然后在模块中执行以test开头的测试方法代码,依据这个进行编写测试用例
4、断言:在UnitTest单元测试框架中提供了丰富的断言方法,如assertEqual() 、assertIn()、assertTrue()、assertIs()等;
在Pytest单元测试框架并没有提供专门的断言方法,而是直接使用Python的assert进行断言
# 导入包
import pytest
#功能:用于计算a与b相加的和
def add(a,b):
return a + b
#功能:用于判断素数
def is_prime(n):
if n < 1:
return False
for i in range(2,n):
if n % i == 0:
return False
return True
#测试相等
def test_add_1():
assert add(3,4) == 7
#测试不相等
def test_add_2():
assert add(17,22) != 50
#测试大于或者等于
def test_add_3():
assert add(17,22) <= 50
#测试小于或者等于
def test_add_4():
assert add(17,22) >= 38
#测试包含
def test_in():
a = 'Hello'
b = 'He'
assert b in a
#测试不包含
def test_not_in():
a = 'Hello'
b = 'hi'
assert b not in a
#判断是否为True
def test_true_1():
assert is_prime(13)
#判断是否为True
def test_true_2():
assert is_prime(7) is True
#判断是否不为True
def test_true_3():
assert is_prime(4) is False
#判断是否不为True
def test_true_4():
assert is_prime(6) is not True
#判断是否为False
def test_false_1():
assert is_prime(8) is False
if __name__ == '__main__':
# main()方法默认执行当前模块中所有以”test开头或test结尾“的函数
pytest.main()
# 若执行终端窗口中使用pytest执行看到执行用例的进度条的话,则需安装 pip3 install pytest-sugar
见执行后输出结果:

其实在一个模块中,不仅包含了函数,还有类,下面来写一段代码实例
# 导入包
import pytest
#功能:用于计算a与b相加的和
def add(a,b):
return a + b
#测试相等
def test_add_1():
assert add(3,4) == 7
#测试不相等
def test_add_2():
assert add(17,22) != 50
class TestAdd(object):
# 测试大于或者等于
def test_add_3(self):
assert add(17, 22) <= 50
# 测试小于或者等于
def test_add_4(self):
assert add(17, 22) >= 38
if __name__ == '__main__':
pytest.main(['-s','-v','test_assert.py'])
见执行后输出结果:

总结:
1、要执行的测试模块必须以test开头
2、要执行的测试函数必须以test开头或test结尾
3、若类要被Pytest执行,那么该类名称首字母必须是:Test,否则不会被执行
Pytest单元测试框架之简单操作示例的更多相关文章
- Pytest单元测试框架-Pytest环境安装
unittest是python自带的单元测试框架,它封装好了一些校验返回的结果方法和一些用例执行前的初始化操作,使得单元测试易于开展,因为它的易用性,很多同学也拿它来做功能测试和接口测试,只需简单开发 ...
- Pytest单元测试框架-测试用例运行规则
1.Pytest测试用例运行规则 在pytest单元测试框架下面执行用例,需要满足以下几个特点: 1. 文件名以test_*.py开头或者*_test.py 2. 测试类.测试函数以test开头 3. ...
- Pytest单元测试框架:插件-allure-pytest环境搭建并在本地生成一个测试报告
之前写了allure-pytest的官方文档啃的内容,有些交流的朋友,实践起来没什么头绪,所以就有了这篇文章,也给自己填个坑 第一步:搭建Allure.JDK环境 1. 搭建JDK环境 不装jdk你会 ...
- Pytest单元测试框架——Pytest+Allure+Jenkins的应用
一.简介 pytest+allure+jenkins进行接口测试.生成测试报告.结合jenkins进行集成. pytest是python的一种单元测试框架,与python自带的unittest测试框架 ...
- Pytest单元测试框架-学习
pytest: Python的一个单元测试框架,基于UnitTest二次开发,语法上更加简洁,可以用来做Python开发项目的单元测试,UI自动化.接口自动化测试等,有很多的插件访问Pytest插件汇 ...
- Pytest单元测试框架之FixTure基本使用
前言: 在单元测试框架中,主要分为:测试固件,测试用例,测试套件,测试执行及测试报告: 测试固件不难理解,也就是我们在执行测试用例前需要做的动作和测试执行后的需要做的事情: 比如在UI自动化测试中,我 ...
- Pytest 单元测试框架
1.pytest 是 python 的第三方单元测试框架,比自带 unittest 更简洁和高效 2.安装 pytest pip install pytest 3.验证 pytest 是否安装成功 p ...
- Pytest单元测试框架之setup/teardown模块示例操作
"""模块级(setup_module/teardown_module)开始于模块始末,全局的函数级(setup_function/teardown_function)只 ...
- Pytest单元测试框架之FixTure内置临时文件tmpdir操作
1.前言:某些接口需要引用上个接口返回的值,作为下个接口的入参,但笔者又不想在本地维护及创建此文件,此时引出fixture内置函数中的临时文件存储tmpdir 2.首先下面的源码是使用flask框架写 ...
随机推荐
- CUDA 7流简化并发
CUDA 7流简化并发 异构计算是指有效使用系统中的所有处理器,包括CPU和GPU.为此,应用程序必须在多个处理器上同时执行功能.CUDA应用程序通过在流(按顺序执行的命令序列)中,执行异步命令来管理 ...
- FreeSql使用WithSql+ ToSQL 查询数据
FreeSql是一个支持.NET Core 2.1+..NET Framework 4.0+ 以及 Xamarin的ORM(Object Relational Mapping)对象关系映射的组件 支持 ...
- 采用MVC模式创建一个简单的javascript App
初次翻译,翻译的不好,还请见谅 JavaScript中最好的一部分之一,也可能是最糟糕的. 在HTML文档的头部添加一个开始和结束脚本标记,并在其中引入一些意大利面条式的代码,毫无疑问这是一种过分简单 ...
- 【NX二次开发】图标图像
用户定义位图的目录位置的环境变量 UGII_BITMAP_PATH 在NX日志中查看NX图标需要设置的变量 变量名:PRINT_DIALOG_BITMAP_NAMES 变量值:1 查看系统图标的方法1 ...
- 在线CUR转换器
在线CUR转换器 在线将文件与cur相互免费转换 鼠标光标cur格式可以利用这网站在线免费转换成jpg,png等任意一种格式,方便快速! 转换格式请点击在线CUR转换
- Windows的静态库与动态库
Windows的静态库与动态库 1.静态库 1.1 静态库特点 运行不存在 静态库源码被链接到调用程序中 目标程序的归档 1.2 C语言静态库 C静态库的创建 创建一个静态库项目. 添加库程序,源文件 ...
- 关于win10 samba访问提示用户名和密码错误的原因
排除掉linux上的配置错误,只需要做到以下两步就可以了: 1.win10系统运行secpol.msc 打开本地安全策略 2.安全策略->本地策略->安全选项 3.右侧找到 网络安全:LA ...
- 重新整理 .net core 实践篇—————领域事件[二十九]
前文 前面整理了仓储层,工作单元模式,同时简单介绍了一下mediator. 那么就mediator在看下领域事件启到了什么作用吧. 正文 这里先注册一下MediatR服务: // 注册中间者:Medi ...
- Python基础之:Python的数据结构
目录 简介 列表 列表作为栈使用 列表作为队列使用 列表推导式 del 元组 集合 字典 循环 简介 不管是做科学计算还是编写应用程序,都需要使用到一些基本的数据结构,比如列表,元组,字典等. 本文将 ...
- 『心善渊』Selenium3.0基础 — 11、Selenium对元素常用操作
目录 1.Selenium对元素常用操作 2.Selenium对元素的其他操作 1.Selenium对元素常用操作 操作 说明 click() 单击元素 send_keys() 模拟输入 clear( ...