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

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.dtcms.com/a/295039.html

相关文章:

  • FCW(Front Collision Warning)前碰撞预警功能介绍
  • 借助DataStream和多路复用实现可观察性
  • mybatis条件语句的查询与注解的使用以及mybatis与servelet结合查询
  • 数据结构系列之AVL树
  • 主要科技公司与新创公司 AI Agent 进展调研
  • Nginx 日志分析与慢请求排查
  • Symantec sep配置自定义yara规则
  • 背包九讲 详细解析与 C++ 实现
  • 不一样的Mysql安装方式
  • (8)Step 7 实现泵组主备切换与PID变频调节(压力——频率)
  • LangChain面试内容整理-知识点28:LangChain部署实践
  • 【JavaSE】正则表达式学习笔记
  • 二、计算机网络技术——第4章:网络层
  • 跟著Qcadoo MES系统学习产品设计001
  • 从订单簿到AMM:一场去中心化交易所的技术革命
  • 彻底掌握双列集合——Map接口以及实现类和常用API及其底层原理
  • 1688商品数据采集的应用行业与接入方式
  • 人工智能之数学基础:事件间的运算
  • JVM、Dalvik、ART垃圾回收机制
  • OpenLayers 快速入门(八)事件系统
  • java基础(the 15th day)
  • freelancer是什么用工模式?有什么好处和坏处呢?
  • Log4j2漏洞vul-hub通关教程
  • 根据图片的r值来进行透明剔除
  • SpringBoot RESTful API设计指南
  • C++day1
  • #Linux内存管理# 在一个播放系统中同时打开几十个不同的高清视频文件,发现播放有些卡顿,打开视频文件是用mmap函数,请简单分析原因。
  • SQL难点突破之复杂业务逻辑的SQL查询实战
  • pcb碳油板工艺流程
  • zabbix基于GNS3监控部署