当前位置: 首页 > ops >正文

pytest简单使用和生成测试报告

目录

1. 基本使用

1--安装

2--pytest书写规则

3--为pycharm设置  以 pytest的方式运行

4--setup和teardown

5--setup_class和teardown

2. pytest生成测试报告


  1. 基本使用

    1. 安装

      1. pytest文档地址
        1. pytest documentation
      2.  pip install pytest
      3. 点击pycharm左边的控制台按钮
        1. 输入pip install pytest
      4. 出现下面的情况就算成功了
    2. pytest书写规则

      1. 测试的文件名必须以test开头,或者结尾
        1. test_12312_demo.py
        2. asd_112_demo_test.pyy
      2. 测试类必须以Test开头
        1. TestLoginApi
    3. 为pycharm设置  以 pytest的方式运行

      1. 使用快捷键 ctrl + alt +s 呼出pycharm设置面板
        1. 找tools
          1. python integrated tools
            1. 找到Default test Runner 
              1. 设置pytest
                1. 最后点击ok按钮
    4. 编写一个简单的例子
      1. class TestDemo:# 定义一个测试用例def test_demo_001(self):print("这是一个测试test_demo_001")def test_demo_002(self):print("test_demo_002")

        1. 测试结果如下
      2. 命令行执行
        1. pytest -s .\test_demo.py
    5. setup和teardown

      1. def setup(self):print("前置处理")
      2. def teardown(self):print("后置处理")
      3. 在执行的过程中
      4. 发现这些函数并没有执行
        1. 这个的原因是因为setup 和 teardown在pytest 8.0 以后的版本已经废弃了
        2. 可以使用setup_method和 teardown_method
          1. def setup_method(self):print("前置处理\n")def teardown_method(self):print("后置处理")
        3. 运行结果
        4. 可以看到在每个方法执行前后都会执行
      5. pytest8.0以前的版本使用setup和teardown。pytest8.0以后的版本使用setup_method和teardown_method
    6. setup_class和teardown

      1. def setup_class(self):print("--------类级别的前置处理器---------")def teardown_class(self):print("--------类级别的后置处理器---------")
      2.  
      3. 可以看到只会运行一次
  2. pytest生成测试报告

    1. 安装测试报告插件
      1. pip install pytest-html
      2. 出现下面的情况就算安装完成了
    2. 使用指令生成测试报告
      1. pytest --html=.\reports.html .\test_demo.py
      2. pytest --html=生成报告的路径 执行测试用例的路径
      3. 打开测试报告
        1. 找到reports.html文件 
          1. 鼠标右键
            1. Open in
              1. Brower
                1. Chrome
                2. 这里可以选择你安装的浏览器去打开
                3. 我这里安装了Chrome,就选择了Chrome
      4. 可以看到生成的测试报告
      5. 可以看到这些结果展示还是很直观 的
http://www.xdnf.cn/news/16069.html

相关文章:

  • Axios 响应拦截器
  • SpringBoot 使用Rabbitmq
  • EDoF-ToF: extended depth of field time-of-flight imaging解读, OE 2021
  • C语言常见的预定符号常量
  • LeetCode 热题100:160.相交链表
  • 神经网络和机器学习的一些基本概念
  • 【Node.js】使用ts-node运行ts文件时报错: TypeError: Unknown file extension “.ts“ for ts 文件
  • 电子设计大赛【摄像头循迹】讲解
  • SpringMVC快速入门之请求与响应
  • 【大模型文生图、文生音频实战Demo】基于Spring AI Alibaba和阿里百炼大模型实现文生图、文生视频
  • WebGIS 中常用公共插件
  • 1688 Agent Russia 丨俄罗斯1688跨境代采系统搭建指南
  • 前端开发 React 状态优化
  • 基于深度学习的图像分类:使用预训练模型进行迁移学习
  • 原创-基于 PHP 和 MySQL 的证书管理系统 第三版
  • Neo4j 框架 初步简单使用(基础增删改查)
  • Neo4j如何修改用户密码?
  • 【Java】Reflection反射(代理模式)
  • Redis能完全保证数据不丢失吗?
  • Spring Cloud Alibaba Sentinel 基本工作原理源码阅读
  • BQ4050RSMR DIOTEC高精度锂电池保护与电量监测芯片 集成保护+计量+通信
  • AWS Lambda IoT数据处理异常深度分析:从告警到根因的完整排查之路
  • 快手DHPS:国内首个实现基于RDMA 通信的可负载均衡高性能服务架构!
  • 设计汽车集群电源
  • 前端资源缓存优化案例:深入探讨 Nginx 配置中的 Cache-Control 头部叠加问题
  • 一次Oracle集群脑裂问题分析处理
  • 耐达讯自动化EtherCAT转RS232:示波器连接的“开挂秘籍”
  • pig cloud框架中引入websocket
  • Android Camera openCamera
  • Node.js 倒计时图片服务部署与 Nginx 反向代理实战总结