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.pswp.cn/pingmian/90100.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/90100.shtml

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

相关文章

Spring Boot 第一天知识汇总

一、Spring Boot 是什么?简单说,Spring Boot 是简化 Spring 应用开发的框架 —— 它整合了整个 Spring 技术栈,提供了 “一站式” J2EE 开发解决方案。核心优点:快速创建独立运行的 Spring 项目,无需繁琐配置&#xff…

MySql主从部署

MySql主从部署 1、操作环境 硬件环境:香橙派5 aarch64架构 软件环境:Ubuntu 22.04.3 LTS 软件版本:mysql-8.0.42 操作方式:mysql_1,mysql_2容器 主节点:mysql_1 启动命令:docker run --name mysql_master \…

Redis——Redis进阶命令集详解(下)

本文详细介绍了Redis一些复杂命令的使用,包括Redis事务相关命令,如MULTI、EXEC、DISCARD 和 WATCH ,发布订阅操作命令,如PUBLISH 、SUBSCRIBE 、PSUBSCRIBE ,BitMap操作命令,如SETBIT、GETBIT、BITCOUNT、BITOP,HyperL…

C#使用socket报错 System.Net.Sockets.SocketException:“在其上下文中,该请求的地址无效。

bind: 在其上下文中,该请求的地址无效。问题定位 程序中运行socket服务端程序时,绑定的IP地址无效,即请求的IP地址在你的机子上找不到。原因有以下几种可能: 1)server端绑定的IP地址不是本机的IP地址。 2)之…

计算机底层入门 05 汇编学习环境通用寄存器内存

2.3 汇编学习环境我们通过上一章笔记,得知 计算机好像 只会通过位运算 进行 数字的加法。 而机器语言的魅力就是 位运算,解析规则。它们也都是通过 电路 来进行实现的。这就是 计算机最底层的本质了!!! 汇编语言 所谓的…

Java学习---Spring及其衍生(上)

在 Java 开发领域,Spring 生态占据着举足轻重的地位。从最初的 Spring 框架到后来的 SpringBoot、SpringMVC 以及 SpringCloud,每一个组件都在不同的场景下发挥着重要作用。本文将深入探讨这几个核心组件,包括它们的定义、原理、作用、优缺点…

LVGL应用和部署(个人开发嵌入式linux产品)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】随着经济越来越走向常态化发展,将来的公司基本是两个趋势,一个是公司越做越大,越来越趋向于垄断;另外…

CPU,减少晶体管翻转次数的编码

背景 以4比特为单位,共16个数。仔细思考状态转换过程中的晶体管翻转次数。 0000 0001,1 0010,2 0011,1 0100,3 0101,1 0110,2 0111,1 1000,4 1001,1 1010&…

LLM 中的 温度怎么控制随机性的?

LLM 中的 温度怎么控制随机性的? 在LLM的解码过程中,温度(Temperature)通过调整token概率分布的“陡峭程度”来控制随机性:温度越低,概率分布越陡峭(高概率token的优势越明显),随机性越低;温度越高,分布越平缓(高低概率token的差异被缩小),随机性越高。 温度,…

freemodbus使用

文章目录✅ **CubeMX配置**1. UART配置(RS485通信)2. Timer配置(RTU字符间隔检测)3. GPIO配置(RS485方向控制)✅ **STM32F103 RS485 FreeModbus RTU 配置概览****1️⃣ CubeMX硬件配置****2️⃣ FreeModb…

【Ansible】Ansible 管理 Elasticsearch 集群启停

一、集群节点信息 通过 Ansible inventory 定义的集群节点分组如下:[es](Elasticsearch 节点) 192.168.100.150192.168.100.151192.168.100.152[logstash](Logstash 节点) 192.168.100.151[kibana](Kibana …

Effective Python 第15条 不要过分依赖给字典添加条目时所用的顺序

引言:字典顺序的重要性 在Python编程中,字典(dict)是一种常用的数据结构,用于存储键值对。然而,字典的迭代顺序问题常常困扰着开发者。从Python 3.7开始,字典保证了键的插入顺序,这一…

事务隔离级别和传播方式

事务隔离级别 事务隔离级别是数据库系统中控制事务间相互影响程度的重要机制。不同的隔离级别在数据一致性保证和系统性能之间提供不同的权衡选择。下面我将详细解析四种标准隔离级别、它们能解决的问题以及可能存在的并发问题。 一、四种标准隔离级别 1. 读未提交 (Read Uncom…

不同地区的主要搜索引擎工具

研究seo,想汇总一下不同国家的搜索引擎工具,顺带了解一下这些公司提供的服务。 韩国:NAVER——>LINE 日本: 我还不知道,如果你知道可以评论告诉我 俄罗斯:yandex yandex有点像本土化的google 搜索引擎 邮箱 网盘 在…

实操:AWS CloudFront的动态图像转换

概述 适用于 Amazon CloudFront 的动态图像转换(前身为无服务器图像处理器),通过 Amazon CloudFront 的全球内容分发网络(CDN)实现实时图像处理。此 AWS 解决方案可帮助您优化视觉内容交付,同时显著降低运营…

Spring Boot 实战详解:从静态资源到 Thymeleaf 模板引擎

Spring Boot 凭借其 "约定大于配置" 的理念,极大简化了 Java 应用开发流程。本文将从 Spring Boot 核心特性出发,详细解析静态资源映射规则、Thymeleaf 模板引擎的使用,并结合完整实战案例,帮助开发者快速上手 Spring B…

docker的镜像与推送

docker build# 1. 基本构建命令(使用当前目录的 Dockerfile) docker build .# 2. 指定 Dockerfile 路径和构建上下文 docker build -f /path/to/Dockerfile /path/to/build/context# 3. 为镜像设置名称和标签 docker build -t my-image:latest .# 4. 设置…

计算机网络学习----域名解析

在互联网世界中,我们习惯通过域名(如www.example.com)访问网站,而非直接记忆复杂的 IP 地址(如 192.168.1.1)。域名与 IP 地址之间的转换过程,就是域名解析。它是互联网通信的基础环节&#xff…

构建高性能推荐系统:MixerService架构解析与核心实现

——深入剖析推荐服务的分层设计、工作流引擎与高可用策略 一、整体架构与分层设计 该推荐服务采用经典分层架构模式​7,各层职责清晰: ​HTTP接口层​ 支持 GET/POST 请求解析,自动映射参数到 RcmdReq 协议对象统一错误处理:参…

【安全漏洞】隐藏服务器指纹:Nginx隐藏版本号配置修改与重启全攻略

🚀 隐藏服务器指纹:Nginx配置修改与重启全攻略 你是否知道,默认情况下Nginx会在HTTP响应头中暴露版本号?这个看似无害的Server: nginx/1.x.x字段,实则可能成为黑客的"藏宝图"。今天我们就来揭秘如何通过简单配置提升服务器安全性,并手把手教你完成Windows环境…