文章目录

  • 一、单元测试框架
    • 1.什么是单元测试框架
    • 2.单元测试框架分类
    • 3.单元测试框架主要做什么?
  • 二、Pytest简介以及常用插件安装
  • 三、pytest默认测试用例的规则以及基础应用
  • 四、pytest跳过测试用例。
  • 五、pytest测试用例的前后置,固件
  • 六、使用fixtrue实现部分前后置

一、单元测试框架

1.什么是单元测试框架

单元测试框架是在自动化测试或者白盒测试中对软件的最小单元(函数,方法)进行测试的 框架。

2.单元测试框架分类

Python:unittest,pytest(主流)

Java:Testng(主流)和Junit

3.单元测试框架主要做什么?

'''
发现测试用例 执行测试用例 判断测试结果 生成测试报告
'''

二、Pytest简介以及常用插件安装

'''
1.pytest是一个非常成熟的单元测试框架。灵活和简单。2.它可以结合selenium,requests,appium完成各种不同的自动化。3.它还可以生成自定义allure报告以及和Jenkins持续集成。 4.pytest有很多强大的插件。 pytest pytest-html(生成html报告的插件)pytest-xdist(多线程运行的插件) pytest-ordering(改变用例的执行顺序的插件) pytest-rerunfailures(失败用例重跑的插件) allure-pytest(生成美观自定义的allure报告) 通过在项目的根目录下新建一个:requirements.txt文件保存插件。然后通过以下命令安 装: pip install -r requirements.txt
'''

三、pytest默认测试用例的规则以及基础应用

'''1.模块名必须以test_开头或者_test结尾。 2.测试类必须以Test开头,并且不能带有init方法。 3.测试用例必须以test_开头。 __执行:Alt+Enter自动导包。 '''

运行方式

'''1.通过命令行方式执行。 pytest 执行的参数: -vs -v输出详细信息。-s输出调试信息。如:pytest -vs -n 多线程运行。(前提安装插件:pytest-xdist) 如:pytest -vs -n=2 --reruns num 失败重跑(前提安装插件:pytest-rerunfailres) 如:pytest -vs -- reruns=2 raise Exception() 抛出异常 try except 解决异常 -x 出现一个用例失败则停止测试。如:pytest -vs -x --maxfail 出现几个失败才终止 ,如:pytest -vs --maxfail=2 --html 生成html的测试报告(前提安装插件:pytest-html),如:pytest -vs --html ./reports/result.html -k 运行测试用例名称中包含某个字符串的测试用例。 ​  如:pytest -vs -k "baili or xingyao" 2.通过主函数main方式执行。 if __name__ == '__main__': pytest.main(["‐vs"]) 3.通过全局配置文件pytest.ini文件执行。 注意: 一般放在项目的根目录下,名称必须是pytest.ini 当有中文时可能需要改变编码格式为GB2312 pytest.ini文件可以改变默认的测试用例规则。 不管是命令行运行也好还是说主函数运行也好,都会加载这个配置文件。 [pytest]
#参数
addopts = -vs -m "smoke"
testpaths = ./atuotest
python_files = test_*.py
python_classes = Test*
python_functions = test_*
#标记
markers =smoke:冒烟用例product_manage:商品管理user_manage:用户管理模块这里-m "smoke"表示只执行冒烟用例。
'''

四、pytest跳过测试用例。

'''(1)无条件跳过 @pytest.mark.skip(reason="无理由跳过") (2)有条件跳过 @pytest.mark.skipif(workage<10,reason="工作经验少于10年跳过") 内卷:劳动力。功能测试岗位。技术:内卷不严重。 精通。
'''

五、pytest测试用例的前后置,固件

'''
class CommonUtil: def setup_class(self): print("每个类之前执行一次") def teardown_class(self): print("每个类之后执行一次") def setup(self): print("每个用例之前执行一次") def teardown(self): print("每个用例之后执行一次")
'''

六、使用fixtrue实现部分前后置

'''
@pytest.fixture() scope:作用域 ​   function:在函数之前和之后执行 ​   class:在类之前和之后执行 ​    package/session:在整个项目会话之前和之后执行。 autouse:自动执行。默认是False.
'''
'''
@pytest.fixture(scope="function",autouse=True) def exe_database_sql(): print("执行SQL查询") yieldprint("关闭数据库连接")
'''

如果希望在另外一个py文件中调用需要结合contest.py文件使用。


作者:吴常文
出处:https://editor.csdn.net/md?not_checkout=1&articleId=122405853
本文版权归作者和CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

pytest测试框架详细讲解part01相关推荐

  1. Pytest 测试框架——数据驱动

    引言 前面已经和大家介绍过 Unittest 测试框架的数据驱动框架 DDT,以及其实现原理.今天和大家分享的是 Pytest 测试框架的数据驱动,Pytest 测试框架的数据驱动是由 pytest ...

  2. Pytest测试框架(二):pytest 的setup/teardown方法

    系列文章目录 Pytest测试框架(一):pytest安装及用例执行 Pytest测试框架(二):pytest 的setup/teardown方法 Pytest测试框架(三):pytest fixtu ...

  3. Python编程必不可少的pytest测试框架

    进行编程测试重要的是为了更高效的完成功能的实现. pytest是基于unittest实现的第三方测试框架,比 unittest 更加的简洁.高效,并且可以完美兼容 unittest 的测试代码,无需对 ...

  4. Pytest测试框架(五):pytest + allure生成测试报告

    系列文章目录 Pytest测试框架(一):pytest安装及用例执行 Pytest测试框架(二):pytest 的setup/teardown方法 Pytest测试框架(三):pytest fixtu ...

  5. pytest测试框架系列 - setup和teardown的详细讲解

    简介 前面使用过unittest的都知道,setup和teardown是用来处理用例的前置工作和清理工作,其中还有setupclass和teardownclass是保证执行所以的用例都只执行1次前置和 ...

  6. Pytest测试框架中,setup和teardown函数的作用及使用方法

    作为一名Python开发人员,您一定知道Pytest是一个广泛使用的Python测试框架. 它具有易用性和灵活性,可以帮助您快速编写测试用例,并且能够支持包括单元测试.集成测试.功能测试等多种测试类型 ...

  7. pytest测试框架_聊聊 Python 的单元测试框架(三):最火的 pytest

    本文首发于 HelloGitHub 公众号,并发表于 Prodesire 博客. 一.介绍 本篇文章是<聊聊 Python 的单元测试框架>的第三篇,前两篇分别介绍了标准库 unittes ...

  8. pytest测试框架4-插件与hook函数

    一.简介 pytest的自带功能很强大,通过添加插件可以扩展功能,pytest的代码结构适合定制和扩展插件, 可以借助hook函数来实现. 把fixture函数或者hook函数添加到conftest文 ...

  9. Pytest测试框架的基本使用和allure测试报告

    一.测试用例的识别与运行 目录识别 通过pytest.ini配置文件配置 如果未指定任何参数,则收集从testpaths(如已配置)或当前目录开始.另外,命令行参数可以在目录.文件名或节点ID的任何组 ...

最新文章

  1. kubernetes 1.8 高可用安装(一)
  2. Response.ContentType 详细列表
  3. C# 中的 null 包容运算符 “!” —— 概念、由来、用法和注意事项
  4. Elasticsearch 操作命令
  5. 转载:GCC 提供的原子操作
  6. 2018.01.25-现货黄金复盘
  7. SimpleUI 2.0 发布,采用element-ui+vue给django admin带来全新体验
  8. 分享10款效果惊艳的HTML5图片特效
  9. 2019 杭电多校第6场 HDU - 6638 Snowy Smile 线段树 最大子段和
  10. cookie安全性问题
  11. 一加7pro电脑模式_一加7pro值不值得买?
  12. Visual Studio 2022自定义(透明)主题和壁纸完整版
  13. 巧用 word 批注功能
  14. Excel处理多余符号--查找替换功能SUBTITUTE公式的使用
  15. 微信二维码的生成(java后端)--邀请新人
  16. 深度!用“极速统一”,开启金融行业数据分析新范式
  17. IPC的键值和标识符
  18. IBM天工计划AIX培训活动感想
  19. python爬虫之常见的加密方式
  20. SQL 开发的十个高级概念

热门文章

  1. sscom5.13.1串口调试助手百度云下载免费
  2. 基于龙芯CPU麒麟操作系统的国产半实物仿真系统ETestDEV
  3. 唐诗宋词大全 API 接口
  4. 基于linux的游戏论文,基于linux系统的图形单机版农场游戏——毕业论文.doc
  5. 第3章 软件缺陷管理课后习题
  6. C++ iota()函数实践
  7. 【蓝桥杯省赛真题12】python数字组合 青少年组蓝桥杯python编程省赛真题解析
  8. 利用Paddle OCR进行文字识别
  9. python可视化库总结_Python 可视化库 - Matplotlib 使用总结
  10. 20165318 2017-2018-2 《Java程序设计》第六周学习总结