【pytest学习总结2】 - 如何调用pytest?

news2024/9/30 19:30:07

目录

2.1 如何调用pytest

2.1.1 指定要运行的测试

2.1.2 获取关于版本、选项名称、环境变量的帮助

2.1.3 分析测试的执行的持续时间

2.1.4 管理插件的加载

2.1.5 其他调用pytest的方法

🎁更多干货

完整版文档下载方式:


2.1 如何调用pytest

通常,pytest使用命令pytest调用(参见下面调用pytest的其他方法)。这将在当前目录及其子目录中名称遵循 test_*.py\*_test.py 形式的所有文件中执行 所有测试。更一般地说,pytest遵循标准的测试发现规则。

2.1.1 指定要运行的测试

Pytest支持几种运行和选择测试的方法

  1. 运行一个模块的测试用例:pytest test_mod.py
  2. 运行一个目录所有的测试用例:pytest testing/
  3. 按关键字表达式运行测试:pytest -k "MyClass and not method"
class TestMyClass:

    def test_something(self):
        pass

    def test_method_simple(self):
        pass

collected 2 items / 1 deselected / 1 selected                                                                                                                                                                                             

test_jiao.py .                                                                                                                                                                                                                      [100%]

==================================================================================================== 1 passed, 1 deselected in 0.02s =====================================================================================================

  1. 按节点ID运行测试 每个收集到的测试都被分配了一个唯一的nodeid,它包括模块文件名,后面跟着说明符,如类名、函数名和参数化中的参数等说明符,由::字符分隔。
    要在模块中运行特定的测试:pytest test_mod.py::test_func
    在命令行中指定测试方法的另一个示例:pytest test_mod.py::TestClass::test_method

  2. 通过标记表达式运行测试:pytest -m slow

import pytest
class TestMyClass:
    def test_something(self):
        pass
    @pytest.mark.slow
    def test_method_simple(self):
        pass

  1. 从包中运行测试:pytest --pyargs pkg.testing

2.1.2 获取关于版本、选项名称、环境变量的帮助

pytest --version # 显示测试是从哪里导入的  
pytest --fixtures # 显示可用的内置函数参数  
pytest -h | --help # 显示有关命令行和配置文件选项的帮助

2.1.3 分析测试的执行的持续时间

要获得超过1.0秒长的最慢的10个测试持续时间的列表:
pytest --durations=10 --durations-min=1.0

默认情况下,pytest不会显示测试时间太小(<0.005s)的持续时间,除非在命令行上传递-vv。

2.1.4 管理插件的加载

(1)使用插件 您可以使用-p选项在命令行中显式地早期加载插件(内部和外部): pytest -p mypluginmodule pytest -p pytest_cov

(2)禁用插件 要在调用时禁用加载特定的插件,请使用-p选项和前缀no:
pytest -p no:doctest

2.1.5 其他调用pytest的方法

  1. 通过python调用,也相当于调用命令行脚本pytest...: python -m pytest [...]

  2. 从Python代码调用pytest: retcode = pytest.main()

这就像您要从命令行中调用“pytest”一样。它不会提高系统退出,而是返回退出代码。您可以传递以下选项和参数:

retcode = pytest.main(["-x", "mytestdir"])

指定其他插件到pytest.main,运行它将显示MyPlugin被添加,它的钩子被调用:

import pytest
import sys


class MyPlugin:
    def pytest_sessionfinish(self):
        print("*** test run reporting finishing")


if __name__ == "__main__":
    sys.exit(pytest.main(["-qq"], plugins=[MyPlugin()]))

C:\Users\mc\Desktop\python>python tiaoce.py
*** test run reporting finishing

🎁更多干货


完整版文档下载方式:

这些资料,对于从事【软件测试】等相关工作的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享。

在评论区和我互动交流或者私❤我【软件测试学习】领取即可,拿走不谢。


如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “👍点赞” “✍️评论” “💙收藏” 一键三连哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/687258.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VSCode自定义个性化console.log,快捷打印

最终效果&#xff0c;通过Ctrl Alt l快捷键打印选中值 如何自定义Console.log样式&#xff1f; 可以使用 %c 为打印内容定义样式&#xff1a; console.log("This is %cMy stylish message", "color: yellow; font-style: italic; background-color: blue;pa…

ivx低代码开发平台

前言 低代码开发平台&#xff08;Low-Code Development Platform, LCDS&#xff09;为企业和开发者提供了高效的应用开发方式。在2023年&#xff0c;中国的低代码开发平台正在快速发展&#xff0c;以下是其中最受关注的十大平台&#xff1a; iVX&#xff1a;iVX是一款新型的低代…

云从科技大模型之路:昇思“黑土地”上的生态炼成记

文 | 智能相对论 作者 | 李永华 一线客户经理&#xff0c;为客户一键生成周全的资产配置建议&#xff1b; 中端管理人员&#xff0c;获得系统自动撰写的一整套数据分析报表&#xff0c;快速、准确授信&#xff1b; 金融市场的“操盘手”&#xff0c;能够实时获取那些影响市…

系统性能测试流程总结

一、测试前期准备 1、确定用户、业务、系统需求&#xff08;目标&#xff09; 1&#xff09;确定客户的需求和期望 在需求分析和文档的支持下&#xff0c;需要对软件系统上的用户业务使用情况进行分析&#xff0c;提出我们所关注的性能测试需求&#xff0c;并告知业务人员。…

2023-6-26-第八式装饰器模式

&#x1f37f;*★,*:.☆(&#xffe3;▽&#xffe3;)/$:*.★* &#x1f37f; &#x1f4a5;&#x1f4a5;&#x1f4a5;欢迎来到&#x1f91e;汤姆&#x1f91e;的csdn博文&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f49f;&#x1f49f;喜欢的朋友可以关注一下&#xf…

【FFmpeg实战】视频解码流程

原文链接&#xff1a;https://blog.csdn.net/weekend_y45/article/details/125168344 一、解码流程使用到的FFmpeg结构体说明 1、AVFormatContext结构体 该结构体描述了一个媒体文件或媒体流的构成和基本信息。它是一个贯穿始终的数据结构&#xff0c;很多函数调用需要使用到…

【云原生丶Docker】理解Docker的核心概念

Docker的核心优势是什么&#xff1f; 在 什么是虚拟化技术&#xff1f; 一文中&#xff0c;我们对虚拟机和 Docker 都有了简单的了解&#xff0c;需要的小伙伴可以自行跳转回顾~ Docker与传统虚拟化技术有什么区别&#xff1f; Docker 相比传统的虚拟机技术更轻量级&#xff0…

TikTok上的中国商品,老外买上瘾了!

在TikTok的全球影响力下&#xff0c;一些中国商品正实现销量的创纪录增长 2022年底&#xff0c;TikTok发了其第五份“Year on TikTok”年度报告&#xff0c;概述了过去12个月TikTok平台上热度最高的创作者、视频内容&#xff0c;以及#TikTokMadeMeBuyIt标签下最热门的5大产品&…

c语言printf输出格式(%d %f %e %x)

一、%d第一组&#xff1a;%d %nd %-nd第二组&#xff1a;%d %0nd %-0nd %.nd第三组&#xff1a;%d %m.nd %-m.nd 二、%f%f %.nf %m.nf %-m.nf 三、%e%e %.ne %me %-me %m.ne %-m.ed 四、%x%x %0nx %nx %-nx 一、%d 第一组&#xff1a;%d %nd %-nd ①n表示输出宽度&#xff08…

深度学习中使用的16位浮点数格式

深度学习中使用的16位浮点数格式 flyfish 文章目录 深度学习中使用的16位浮点数格式浮点数是一个近似值浮点数的表示float单精度类型 和 double双精度类型 的比较查看所占的字节数大小端的比较计算方法16位 float 半精度格式bflat16格式bflat16格式 与 float32单精度格式 比较…

手敲MyBatis(十二章)-ResultMap解析映射使用

1.前言 这一章节主要解决好几章之前留下的坑&#xff0c;需要根据XML配置的ReultMap进行解析映射成具体的PO供用户使用。 我们本章就来解决下在xml中配置了如下标红框的内容&#xff0c;怎么解析映射到具体的实体类中&#xff0c;如下就是将id为activityMap的resultMap怎么解…

发送图文并茂的html格式的邮件

本文介绍如何生成和发送包含图表和表格的邮件&#xff0c;涉及echarts图表转换为图片、图片内嵌到html邮件内容中、html邮件内容生成、邮件发送方法等 一、图表处理 因为html格式的邮件不支持echarts,也不支持js执行&#xff0c;所以图表需要转换为图片内嵌在邮件内容中 因为平…

Sui Builder House京都站倒计时!

Sui Builder House京都站将于6月29日-30日举行&#xff0c;为世界各地的开发者提供身临其境地学习和交流的机会。查看Sui Builder House京都站的五个亮点 活动信息 &#x1f4c6; Builder House时间&#xff1a;2023年6月29日 — 6月30日 &#x1f4cd; 活动地址&#xff1a;…

NetSuite OAuth1.0中InvalidSignature问题

本周闭关写代码&#xff0c;用Java通过TBA方式访问NetSuite REST Webservices。由于是手生&#xff0c;卡在InvalidSignature报错上&#xff0c;在这个问题上被卡了一整天。 直到终于到来的Aha时刻。 在NetSuite中的样例代码是PHP的&#xff0c; 我平移到Java后&#xff0c;代码…

【云原生丶Docker】虚拟化技术简介

什么是虚拟化技术&#xff1f; Docker 是一款基于容器虚拟化技术构建的软件&#xff0c;那到底什么虚拟化技术呢&#xff1f;在学习 Docker 之前&#xff0c;先简单了解下虚拟化技术。 虚拟化是云原生的实现基础&#xff0c;它能够帮助我们更加有效地利用物理计算机硬件。 虚…

clip-interrogator本地部署

clip-interrogator本地部署 1. 克隆源码2. 创建虚拟环境及配置3. 下载远程相关文件3.1 下载Salesforce相关文件失败3.2 下载cache相关文件失败3.3 解决库不完整问题 4. 测试代码4.1 脚本一4.2 脚本二4.3 测试run_cli.py文件4.4 测试run_gradio.py文件 源码链接&#xff1a;http…

d3dcompiler_47.dll缺失怎么办?d3dcompiler_47.dll缺失修复方法(详解)

d3dcompiler_47.dll在Windows操作系统和 DirectX应用程序中使用此 DLL 文件,包括游戏&#xff0c;图形处理软件&#xff0c;CAD软件和其他3D应用程序中。如果电脑提示“由于找不到d3dcompiler_47.dll&#xff0c;无法继续执行此代码”&#xff0c;“d3dcompiler_47.dll缺失”&a…

Docker卷与持久化数据

数据主要分为两类&#xff0c;持久化的与非持久化的。 两者都很重要&#xff0c;并且Docker均有对应的支持方式。每个Docker容器都有自己的非持久化存储。非持久化存储自动创建&#xff0c;从属于容器&#xff0c;生命周期与容器相同。这意味着删除容器也会删除全部非持久化数…

网络维护岗位个人求职简历

网络维护岗位个人求职简历1 姓名&#xff1a; 国籍&#xff1a;中国 目前所在地&#xff1a;广州民族&#xff1a;汉族 户口所在地&#xff1a;湖南身材&#xff1a;170cm64kg 婚姻状况&#xff1a;未婚年龄&#xff1a;28 求职意向及工作经历 应聘职位&#xff1a; 工作年限&a…

day14_面向对象的三大特征之一(继承)

继承的概述 Java是对现实社会的模拟&#xff0c;现实中有儿子可以继承父亲的财产&#xff0c;因此有了富二代的。 java中多个类中存在相同属性和行为时&#xff0c;将这些内容抽取到单独一个类中&#xff0c;那么多个类中无需再定义这些属性和行为&#xff0c;只需要和抽取出来…