10 python pytest

这篇具有很好参考价值的文章主要介绍了10 python pytest。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1安装插件

项目里面新建 xxx.txt文件
执行pip install -r xxx.txt一次性安装所有插件

pytest
pytest-html
pytest-xdist
pytest-ordering
pytest-rerunfailures
pytest-pytest

pytest-html 生成html格式的自动化测试报告
pytest-xdist 测试用例分布式执行,多cpu分发
pytest-ordering 用于改变测试用例的执行顺序
pytest-rerunfailures 用于失败后重跑
pytest-pytest 用于生成美观的测试报告

2使用pytest规则

1,模块必须以test_开头或者_test结尾
2,测试类必须以Test开头,并且不能有init方法。
3,测试方法必须以test开头

3pytest测试用例的运行方式

1,主函数模式
(1)运行所有:pytest.main()
(2) 指定模块:pytest.main([‘-vs’,‘test_login.py’])
(3) 指定目录:pytest.main([‘-vs’,‘./interface_testcase’])
2,命令行模式
(1)运行所有:pytest
(2) 指定模块:pytest -vs test_login.py
(3) 指定目录:pytest -vs ./initerface_testcase
3,通过读取pytest.int配置文件运行

参数详解:
-s:表示输出调试信息,包括print打印信息
-v:显示更详细的信息
-vs:这两个参数一起用
-n:支持多线程或者分布式运行测试用例
如:pytest -vs ./testcase/test_login.py -n 2
–reruns 2:失败用例重跑 数字是几就跑几次
-k:根据测试用例的部分字符串指定测试用例
如:pytest -vs ./testcase -k “ao”
–html ./report/report.html:生成html的测试报告

3,通过读取pytest.ini配置文件运行
pytest.ini这个文件他是pytest单元测试框架的核心配置文件
1,位置:一般放在项目的根目录
2,编码:必须时ANSI,可以使用notpad++修改
3,作用:改变pytest默认的行为
4,运行规则:不管时主函数的模式运行,命令行模式运行,都会去运行这个文件

[pytest]
addopts = -vs --html ./report/report.html           		 #命令行的参数
testpaths = ./testcase		 #测试用例的路径
python_files = test_*.py	 #模块名的规则
python_classes = Test* 	#类名的规则
python_functions = test	 #方法名的规则
markers = 
        smoke:冒烟用例
        usermanage:用户管理模块

4,pytest执行测试用例的顺序

unitest: ascII的大小来绝对的执行顺序
Pytest:默认从上到下
改变默认顺序在用例上加 order=为添加顺序
@pytest.mark.run(order=1)

5,如何分组执行(冒烟,分模块执行,分接口和web执行)

@pytest.mark.smoke
smoke:冒烟用例,分布在各个模块里面 smoke为自定义标记
pytest -m ‘smoke’
pytest -m ‘smoke or usermanage’

6,pytest跳过测试用例

@pytest.mark.skip(reason=‘跳过原因’)
@pytest.mark.skipif(age<18,‘原因’)

7,通过conftest.py和@pytest.fixture()结合使用实现全局的前置应用

1,conftest.py文件是单独存放在一个夹具配置文件,名称不能更改。
2,用处可以在不同py文件中是用同一个fixture函数。
3,原则上conftest.py需要和运行的用例放到同一层,并且不需要做任何的import导入的操作文章来源地址https://www.toymoban.com/news/detail-581471.html

到了这里,关于10 python pytest的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 测试框架pytest教程(6)钩子函数hook开发pytest插件

    pytest hook 函数也叫钩子函数,pytest 提供了大量的钩子函数,可以在用例的不同生命周期自动调用。 比如,在测试用例收集阶段,可利用 hook 函数修改测试用例名称的编码。 pytest的hook是基于Python的插件系统实现的,使用特定的命名规范和装饰器来定义钩子函数。你可以在py

    2024年02月12日
    浏览(36)
  • Python潮流周刊#10:Twitter 的强敌 Threads 是用 Python 开发的!

    你好,我是猫哥。这里每周分享优质的 Python 及通用技术内容,大部分为英文,已在小标题注明。(标题取自其中一则分享,不代表全部内容都是该主题,特此声明。) 首发于我的博客:https://pythoncat.top/posts/2023-07-08-weekly 周刊已开通 Telegram 频道 ,欢迎关注:https://t.me/pytho

    2024年02月13日
    浏览(63)
  • 【Python开发】FastAPI 10:SQL 数据库操作

    在 FastAPI 中使用 SQL 数据库可以使用多个 ORM 工具,例如 SQLAlchemy、Tortoise ORM 等,类似 Java 的 Mybatis 。这些 ORM 工具可以帮助我们方便地与关系型数据库进行交互,如 MySQL 、PostgreSQL等。本篇文章将介绍如何使用 SQLAlchemy 来完成数据库操作,以便让我们在 FastAPI 项目中方便地进

    2024年02月14日
    浏览(42)
  • Pytest-BDD 行为驱动开发测试

    BDD 即 Behavior-driven development,行为驱动开发。 在软件工程中, BDD是一种敏捷开发流程。减少传统测试过程中由于技术背景能力,非技术与商业参与者之间业务理解不同而导致的问题。BDD它关注的核心是设计,其要求在设计测试用例的时候对系统进行定义,倡导使用通用的语言

    2024年02月14日
    浏览(38)
  • 10分钟快速上手LLM大模型Python前端开发(三)之显示模块(一)

    微信公众号:leetcode_algos_life,代码随想随记 小红书:412408155 CSDN:https://blog.csdn.net/woai8339?type=blog GitHub: https://github.com/riverind 抖音【暂未开始,计划开始】:tian72530 知乎【暂未开始,计划开始】:happy001 本系列主要应用于大模型前端展示,十分钟快速上手前端系列。 该文章

    2024年01月16日
    浏览(44)
  • Python测试框架 Pytest —— mock使用(pytest-mock)

    安装:pip install pytest-mock 这里的mock和unittest的mock基本上都是一样的,唯一的区别在于pytest.mock需要导入mock对象的详细路径。 先将需要模拟的天气接口,以及需要模拟的场景的代码写好,然后在进行遵循pytest的用例规范进行书写关于mock的测试用例 通过上述代码,提供pytest中

    2024年02月09日
    浏览(46)
  • 【开发语言】C语言与Python的互操作详解

    博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客内容主要围绕:        5G/6G协议

    2024年02月10日
    浏览(66)
  • Python —— pytest框架

    1、搭建自动化框架的思路与流程 1、搭建自动化测试框架的思路和流程,任意测试手段流程都是一致的:手工测试、自动化测试、工具测试 手工测试:熟悉业务 —— 写用例 —— 执行用例并记录结果 —— 生成测试报告 自动化测试:熟悉业务 —— 写自动化用例(来自于手工

    2024年04月17日
    浏览(34)
  • Python模块—Pytest模块

    1. args参数 参数 作用 -v 详细输出测试信息。 -q 简要输出测试信息。 -s 输出测试用例中的print语句。 -x 遇到失败用例时立即停止测试。 -k 根据条件指定用例去测试,如:‘-k’ ,‘TestCase and not test_case_1’(可指定类名函数名) -m 根据修饰器指定用例去测试,如:‘-m’ , ‘

    2024年02月14日
    浏览(38)
  • [python] pytest

    在写一个项目前, 可以先编写测试模块 测试模块中包含了一个个最小的功能 当每一个功能都完善正确时 再将这些功能转换成项目运行的功能 多个项目运行的功能就组成了一个模块 多个模块就组成了一个项目服务 pytest 是一个 Python 测试框架,它提供了简单易用的语法和丰富

    2024年02月07日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包