单元测试之pytest

pytest不同目录下执行相同名的py文件报错 在项目中创建一个dep1目录,该目录下又有两个目录,如下所示: 在dep1目录下执行pytest -sv命令,报错如下: D:\pythonProject\dependency\dep1>pytest -sv ======================================================================== test session starts ====================================================== 阅读详情

需要安装pytest和pytest-html(生成html测试报告)

pip install pytest 和 pip install pytest-html 

命名规则

Pytest单元测试中的类名和方法名必须是以test开头,执行中只能找到test开头的类和方法,比unittest
更加严谨

运行于测试方法的始末,即:运行一次测试函数会运行一次setup和teardown
运行于测试方法的始末,但是不管有多少测试函数都只执行一次setup_class和 teardown_class

Pytest生成自带的html测试报告

需要下载pytest-html模块(python自带的生成测试报告模块

pip install pytest-html

案例:

 

案例三:

 直接执行pytest.main()

pytest.main([‘--html=./report.html’])

Pytest调用语句

 扩充:跳过
使用@pytest.mark.skip()跳过该用例(函数)

 @pytest.mark.skip()
  def test001(self):
    assert 2==2

Pytest的运行方式

 文件读取

读取csv文件

 读取xml文件

 

allure

Allure是一款轻量级并且非常灵活的开源测试报告框架。 它支持绝大多数测试框架, 例如TestNG、Pytest、JUint等。它简单易用,易于集成。

配置allure的环境变量

pip install allure-pytest

Allure常用的几个特性

@allure.feature # 用于描述被测试产品需求
@allure.story # 用于描述feature的用户场景,即测试需求
with allure.step(): # 用于描述测试步骤,将会输出到报告中
allure.attach # 用于向测试报告中输入一些附加的信息,通常是一些测试数据,截图等

allure.feature:@allure.feature # 用于描述被测试产品需求

allure.story:@allure.story # 用于描述feature的用户场景,即测试需求

import pytest,allure,os
class TestClass005():
  @allure.feature("用户登录功能")#用于定义被测试的功能,被测产品的需求点
  @allure.story("登录成功")   #用于定义被测功能的用户场景,即子功能点
  def test_success(self):
    assert 1==1
  @allure.feature("用户登录功能")#用于定义被测试的功能,被测产品的需求点
  @allure.story("登录失败")   #用于定义被测功能的用户场景,即子功能点
  def test_fail(self):
    assert 1==2
if __name__ == '__main__':
  pytest.main(['--alluredir', 'report/result', 'test_06.py'])  #生成json类型的测
试报告
  split = 'allure ' + 'generate ' + './report/result ' + '-o ' +
'./report/html ' + '--clean'  #将测试报告转为html格式
  os.system(split)  # system函数可以将字符串转化成命令在服务器上运行

 with allure.step():用于描述测试步骤,将会输出到报告中

allure.attach:用于向测试报告中输入一些附加的信息,通常是一些测试数据,截图等

import pytest,os,allure
class TestShop():
  @allure.feature("购物车")
  @allure.story("产品展示")
  def testshow(self):
    with allure.step("查看哈吉利系列车信息"):
      allure.attach("博越","吉利")
    with allure.step("查看哈弗系列车信息"):
      allure.attach("H7","哈弗")
if __name__ == '__main__':
  pytest.main(['--alluredir', 'report/result', 'test_07.py'])
  split = 'allure ' + 'generate ' + './report/result ' + '-o ' +
'./report/html ' + '--clean'
  os.system(split)

作业:

 

 

 

基于python的pytest单元测试框架 阅读详情

相关推荐

pytest测试结果入库mysql(含pytest插件、数据库相关配置,用例demo全套),可供后端直接查询

pytest测试结果入库mysql(含pytest插件、数据库相关配置,用例demo全套),可供后端直接查询

pytest 多参数用例,重复相同用例的执行

import pytest import time class Testy: # @pytest.mark.parametrize('val', # [['PRO_WAREHOUSING'], # ['TRANSFERS_WAREHOUSING'], # ['OTHER_WAREHOUSING']]) # def test_in(self, val): #

Jack_2085 862

Wafer的T7 Code是什么,怎么来的

在半导体Cim系统中,waferstart 业务需要支持 Sorter 读取 Wafer 的 T7 Code,与 MES 的 Wafer ID 进行绑定,以便向 前追溯 Wafer 历史,那么问题来了,T7code 是什么Wafer的T7 Code是一种,用于标识双面抛光的晶圆。这种标记采用二维矩阵代码符号,适用于各种尺寸的晶圆,不仅限于450mm无缺口晶圆7。T7 Code是衬底来料背面通常会有的供应商刻的追溯ID,这是一串数字和字母组成的流水码。

阿拉伯梳子的专栏 7929

pytest 6 生成html报告

前言:pytest-HTML是一个插件,pytest用于生成测试结果的HTML报告。兼容Python 2.7,3.6 1.github上源码地址【https://github.com/pytest-dev/pytest-html】 2.pip安装   pip install pytest-html 3.执行方法   pytest --html=report.html html报告 ...

weixin_30267697的博客 227

双层优化入门(1)—基本原理与求解方法(附matlab代码)

双层优化问题(Bilevel Programming Problems),也被称为双层规划,最早由Stackelberg与1934年在经济学相关研究中提出,因此也被称为Stackelberg问题。双层规划问题一般具有层次性、独立性、冲突性、优先性和自主性等特点。 本文介绍了双层优化的原理与求解方法,并提供了相应的matlab代码供参考学习。

配电网和matlab的博客 5万+

EndNote全文检索实战:如何快速配置学校图书馆资源并精准查找文献

本文详细介绍了EndNote全文检索功能的实战配置方法,核心在于通过正确设置OpenURL链接解析器,无缝对接学校图书馆资源,实现一键精准获取文献全文。文章提供了从理解机制、四步配置法到进阶技巧的完整指南,帮助科研人员高效管理海量PDF,构建个人知识体系,大幅提升文献调研与写作效率。

weixin_29228781的博客 280

Pytest+HTML 测试报告无法生成,解决方案之一

此外当输出日志显示格式如下图时,报告即可以生成。新建一个Python文件,执行报告输出命令;此外当输出日志显示格式如下图时,报告不能生成。

jdk_32的博客 1046

【技术解析】Point-NeRF:如何通过点云优化加速神经辐射场渲染

本文深入解析了Point-NeRF技术,它通过引入3D点云作为几何先验,有效解决了传统神经辐射场渲染速度慢的痛点。该方法利用神经点云构建局部辐射场,结合点剪枝与生长策略进行动态优化,在保证高渲染质量的同时,实现了高达30倍的训练加速,为高效3D场景重建提供了新范式。

weixin_29159127的博客 268

Pytest单元测试

1.Pytest安装和介绍 1. Pytest介绍 pytest是python的一种单元测试框架,同自带的Unittest测试框架类似,相比于Unittest框架使用起来更简洁,效率更高. 2. Pytest特点 1.非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考 2.支持简单的单元测试和复杂的功能测试. 3.支持参数化. 4.执行测试过程中可以将某些测试跳过,或者对某些预期失败的Case标记成失败 5.支持重复执行失败的Case. 6.支持运行由Nose,Unittest编写的测试Case

XiaoPawnYe的博客 2227

PostgreSQL+PostGIS空间数据入库实战:从矢量栅格到GeoServer发布全流程

本文详细介绍了将矢量与栅格空间数据导入PostgreSQL并利用PostGIS扩展进行管理的完整流程。内容涵盖环境搭建、使用shp2pgsql和raster2pgsql工具进行数据入库、基础空间查询验证,以及最终通过GeoServer发布为地图服务的实战步骤,为构建空间数据平台提供清晰指引。

weixin_29268267的博客 290

Anolis 8系统下,手把手搞定Nginx、Redis、JDK8和Tomcat9的完整安装与配置(含开机自启)

本文详细介绍了在Anolis 8系统下搭建Java Web全栈环境的完整流程,包括JDK8、Tomcat9、Nginx和Redis的安装与配置,并实现系统级服务管理。通过深入每个组件的配置细节,揭示服务间的协同关系,最终打造一个生产级可用的标准化环境。

weixin_42556197的博客 160

pytest单元测试框架

单元测试是指在软件开发中,针对软件的最小单位(函数、方法)进行正确性的检查测试。

kk_lzvvkpj的博客 1405

开源网格划分软件-Gmsh二次开发教程 (4)网格生成与控制​

​本章将深入讲解Gmsh的网格生成技术,包括全局/局部网格控制、边界层生成、自适应细化等,并提供完整的代码示例。

ZQGG的博客 1475

Python之pytest单元测试方法

参考:https://zhuanlan.zhihu.com/p/29968920 1 单元测试 单元测试(又称为模块测试, Unit Testing)是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。 为什...

ZONGXP的博客 6496

centos7搭建LNMP环境-编译安装&yum安装-超详细

文章目录1. 首先了解编译安装和yum安装的区别。2. yum安装准备工作---切换阿里云yum源3. 编译安装lnmp4.yum安装lnmp5. lnmp一键安装6. 一些报错7. 笔记8. 参考文章 1. 首先了解编译安装和yum安装的区别。 windows下安装centos虚拟机,之前写过。传送门~~ 编译安装: 可以按需安装,想安在哪个目录下就安在哪个目录下。 可以设定参数 可安装自己想要的版本 yum安装: 安装的方便快捷 不需要考虑包的依赖 可以直接使用service nginx st

最美不过下雨天 9349

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

python之pytest实战:用pytest写单元测试(一)

pytest 是 Python 生态中最流行的测试框架之一,以简洁灵活、功能强大、扩展性高为核心特点,广泛用于单元测试、集成测试、功能测试等场景,尤其适合复杂项目的测试组织与执行。(ps:来自于网络搜索)写的时候有几个点要强调一下:1.写单元测试的py文件名一定要以test为开头(比如给123.py写单元测试的py文件就可以命名为test_123.py)2.在代码文件中(以test_123.py为例),里面的所有。

abcdefghijklmn66的博客 1848

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

单元测试-pytest框架实践

pytest单元测试框架学习

TT-Learning 1500

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

pytest单元测试框架简介

一、什么是单元测试框架 单元测试框架是指:在软件开发当中,针对软件的最小单位(函数,方法)进行正确性的检查测试。 二、单元测试框架的分类 Java: Juint、TestNG Python: unnitest、pytest 三、单元测试框架是用来做什么的? 测试发现:从多个文件里面找到测试用例 测试执行:按照一定的顺序和规则去执行,并生成结果 测试判断:通过断言来判断预期结果和实际结果的差异 测试报告:统计测试进度、耗时、用例的通过率,生成测试报告 四、单元测试框架和自动化测试框架有什么区别? (

familyyan的博客 4086

pytest单元测试笔记

单元测试–pytest使用 学习链接 官方文档 安装(使用的是python3.6.8版本) 使用虚拟环境 pipenv:先进入程序所在文件夹,终端运行pipenv install,安装虚拟环境 在虚拟环境中安装pytest包,终端运行pipenv install pytest,安装完成 进入虚拟环境pipenv shell,查看包是否安装正确版本:pytest --version 创建第一...

weixin_43236533的博客 599

Python单元测试之pytest的使用

Pytest: setup, setup_class 和 teardown, teardown_class 函数 ( 和 unittest 执行效果一样 ) 运行于测试方法的始末,即 : 运行一次测试函数会运行一次 setup 和 teardown 运行于测试方法的始末 , 但是不管有多少测试函数都只执行一次 setup_class 和 teardown_class。pytest.main([‘--html=./report.html',‘模块.py::类::test_a_001'])

2301_79535618的博客 686

Python 面试:单元测试unit testing & 使用pytest

【代码】Python 面试:单元测试unit testing。

weixin_57266891的博客 1461

单元测试框架unittest和pytest

不用创建一个作为 unittest.TestCase 子类的类,我们可以在方法的开头使用 test_ 编写我们的测试函数。为了确保我们的代码没有错误,我们可以使用不同的测试框架编写测试用例,并在其上测试我们的代码以检查代码的完整性。从包含错误的测试用例中可以推断出,由于代码的编写方式,CalcFact方法中开始发生了无限递归,现在可以通过测试用例来修复它。这段代码在未调用测试类的方法的情况下工作,因为unittest模块以特定的格式处理给定的脚本文件。在实例化之后,会找到类内部的测试方法,并按顺序执行。

LAMO 925

基于 pytest 的单元测试一个简单例子

在上述代码中,`@pytest.mark.parametrize`装饰器接受一个参数列表,每个参数列表包含三个元素:`a`、`b`和`expected`。本文将详细介绍基于 pytest 的单元测试方法,并通过具体例子进行说明,旨在帮助开发者快速掌握 pytest 的使用技巧,提升测试效率和代码质量。在上述代码中,我们定义了一个`TestMathFunctions`类,其中包含两个测试方法:`test_add`和`test_subtract`。测试类以`Test`开头,每个测试方法以`test_`开头。

OKCRoss的博客 579
上一篇: python单元测试-unittest
下一篇: requests接口测试
七凉@
博客等级 码龄6年 5粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值