首页 > 其他分享 >软件测试/测试开发|什么是pytest,我们为什么选择pytest?

软件测试/测试开发|什么是pytest,我们为什么选择pytest?

时间:2024-01-04 18:32:05浏览次数:26  
标签:框架 pytest 测试用例 测试 test 安装 软件测试

软件测试/测试开发|什么是pytest,我们为什么选择pytest?_测试框架

前言

作为一个程序猿,免不了要为自己写的代码做单元测试,因为我是一个Pythoner,所以最开始用的是unittest测试框架,但是我的使用体验很不好,后面我了解到了pytest,简直能把uinttest秒成渣,在这里和大家一起分享下pytest使用经验,本文先来给大家介绍一下pytest以及它如何安装,运行一下最简单的pytest测试用例。

Pytest简介

pytest是一个非常成熟的全功能的Python测试框架,它主要有以下几个特点:

  • 简单灵活,容易上手;
  • 支持参数化;
  • 能够支持简单的单元测试和复杂的功能测试,便于和其他自动化测试框架结合;
  • 插件数量庞大,并且功能强大
  • 与Jenkins有很好的适配性
  • 便于生成allure框架下的测试报告

pytest安装

pytest是Python的一个第三方库,我们可以直接使用pip命令进行安装,安装命令如下:

pip install pytest

安装完成后,我们还可以验证是否成功安装,命令如下:

pytest --version # 会展示当前已安装版本

注:建议在虚拟环境中安装第三方库,并且做好环境隔离。

pytest运行

安装完成之后,我们就可以开始运行pytest的测试用例了,我们可以编写一个简单的测试用例,代码如下:

# file_name: test_demo.py
 import pytest # 引入pytest包
 def test_a(): # test开头的测试函数
     print("------->test_a")
     assert 1 # 断言成功
 def test_b():
     print("------->test_b")
     assert 0 # 断言失败
 if __name__ == '__main__':
        pytest.main("-s  test_demo.py") # 调用pytest的main函数执行测试

要运行这个测试脚本,我们有以下方法:

  1. 测试类主函数模式
pytest.main("-s  test_demo.py")
  1. 命令行模式
pytest 文件路径/测试文件名
  例如:pytest ./test_demo.py
  1. 图形化界面

如果我们使用的是pycharm,我们可以直接点击绿色三角形来运行测试脚本,如下图:

软件测试/测试开发|什么是pytest,我们为什么选择pytest?_测试框架_02

在图形化界面中,我们可以更方便地控制运行某个测试用例。

总结

本文主要介绍了pytest测试框架的优势,如何安装pytest,以及运行pytest测试用例的方式,pytest是一款强大的测试框架,在我们的学习中,它将结合selenium,appium和requests框架,一起完成我们的自动化测试。希望本文能够帮到大家!

标签:框架,pytest,测试用例,测试,test,安装,软件测试
From: https://blog.51cto.com/u_15640304/9103706

相关文章

  • 安全测试|漏洞请求伪造
    前言一、漏洞原理如下代码:<?php$url=$_GET['url'];echofile_get_contents($url);?>二、挖掘技巧三、常见的攻ji例如:一个购物应用程序,该应用程序使用户可以查看特定商店中某商品是否有库存。为了提供库存信息,应用程序必须根据所涉及的产品和商店查询各种后端RESTAPI。该功能......
  • iOS苹果和Android安卓测试APP应用程序的差异
    Hello大家好呀,我是咕噜铁蛋!我们经常需要关注移动应用程序的测试和优化,以提供更好的用户体验。在移动应用开发领域,iOS和Android是两个主要的操作系统平台。本文铁蛋讲给各位小伙伴们详细介绍在App测试中iOS和Android的差异,帮助你更好地理解并应对这些差异,以提高你的应用程序的质量和......
  • 全日制软件测试开发 | 测试管理圆桌讨论会精彩时刻回顾(上)
    很高兴大家来参加测试管理圆桌讨论会,本次我们邀请了4位嘉宾,他们的工作履历几乎涵盖了目前互联网行业的头部公司。嘉宾介绍Angelia:资深的项目经理,多次搭建研发团队,目前在外企做PMO成员。强哥:曾在阿里担任测试负责人,负责过很多大型项目测试工作,在技术和管理方面都有很深的造诣。涛哥......
  • 测试开发 | Python-列表
    列表是Python中最常用的数据类型之一。它是一种有序、可变,异构的数据集合,可以存储多个不同类型的元素。列表的特点列表是Python中的一种数据结构,具有以下特点:有序性:列表中的元素按照添加的顺序进行存储,每个元素都有一个对应的索引,可以通过索引访问和操作列表中的元素。可变性:列表是......
  • 测试开发 | 从原理到实战,四天带你轻松进阶Python
    Python作为一门优雅而多功能的编程语言,早已成为编程领域的明星之选。无论是初学者还是资深程序员,Python都以其简洁、灵活和高效的特性,为每个人提供了一个展现才华的舞台。为了引领大家进入Python的世界,深入剖析其原理和优势,霍格沃兹测试开发学社将举办《Python编程语言线下体验训练......
  • 软件测试/测试开发|一文告诉你Python列表相关操作
    列表是Python中最常用的数据类型之一。它是一种有序、可变,异构的数据集合,可以存储多个不同类型的元素。列表的特点列表是Python中的一种数据结构,具有以下特点:有序性:列表中的元素按照添加的顺序进行存储,每个元素都有一个对应的索引,可以通过索引访问和操作列表中的元素。可变性:列......
  • macOS Sonoma 14 beta 3 (23A5286i) ISO、IPSW、PKG 下载,公共测试版现已推出
    macOSSonoma14beta3(23A5286i)ISO、IPSW、PKG下载,公共测试版现已推出本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows和Linux中创建可引导介质。作者主页:sysin.orgmacOSSonom......
  • pytest自动化测试中的fixture的声明和调用
    1.fixture的声明我们使用@pytest.fixture()来声明fixture函数。fixture()即可无参数进行声明,也可以带参数声明。示例1:@pytest.fixture()无参数进行声明[email protected]#fixture()未带任何参数,声明一个fixture函数deffixture_demo():print("这个是一......
  • Python中pytest命令行实现环境切换
    前言在自动化测试过程中经常需要在不同的环境下进行测试验证,所以写自动化测试代码时需要考虑不同环境切换的情况。pytest钩子函数pytest_addoption可以很好帮我们解决这个痛点。pytest_addoption(parser, pluginmanager)注册argparse样式选项和ini样式配置值,在测试运行开始时调用......
  • 如何使用Pytest进行自动化测试
    为什么需要自动化测试自动化测试有很多优点,但这里有3个主要的点可重用性:不需要总是编写新的脚本,除非必要,即使是新的操作系统版本也不需要编写脚本。可靠性:人容易出错,机器不太可能。当运行不能跳过的重复步骤/测试时,速度会更快。全天运行:您可以在任何时间或远程启动测试。夜间运......