首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python Pytest:主体错误的测试api

Python Pytest是一个用于编写和执行测试的Python库。它提供了丰富的功能和灵活的测试框架,可以帮助开发人员编写高效、可维护和可扩展的测试代码。

主体错误的测试API是指在测试过程中,针对主体(被测试的代码)出现错误的情况进行测试的API。这些API可以用来验证主体在错误情况下的行为和处理方式。

在Pytest中,可以使用以下API来测试主体错误:

  1. pytest.raises:用于断言代码块中是否会引发特定的异常。可以使用该API来测试主体在错误情况下是否会引发预期的异常。

示例代码:

代码语言:txt
复制
import pytest

def divide(a, b):
    if b == 0:
        raise ZeroDivisionError("division by zero")
    return a / b

def test_divide_by_zero():
    with pytest.raises(ZeroDivisionError):
        divide(10, 0)

在上面的示例中,test_divide_by_zero函数使用pytest.raises来测试divide函数在除以0时是否会引发ZeroDivisionError异常。

  1. pytest.fail:用于主动失败测试。可以使用该API来测试主体在错误情况下是否会触发失败条件。

示例代码:

代码语言:txt
复制
import pytest

def test_invalid_input():
    if not is_valid_input():
        pytest.fail("Invalid input")

在上面的示例中,test_invalid_input函数使用pytest.fail来测试is_valid_input函数返回False时是否会触发失败条件。

除了上述API,Pytest还提供了许多其他有用的断言和辅助函数,可以根据具体的测试需求选择合适的API进行测试。

推荐的腾讯云相关产品:腾讯云函数(云原生Serverless计算服务),腾讯云API网关(用于构建、发布、管理和监控API的全托管服务)。

腾讯云函数产品介绍链接地址:https://cloud.tencent.com/product/scf

腾讯云API网关产品介绍链接地址:https://cloud.tencent.com/product/apigateway

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

一个测试APIpytest框架

现在,我们将创建一个小pytest框架来测试API。这里使用API是https://reqres.in/免费API 。该网站仅提供可测试API。该网站不存储我们数据。...在这里,我们将为 列出一些用户 与用户登录 使用给定代码创建以下文件 conftest.py-有一个fixture,可以为所有测试方法提供基本网址 导入pytest @ pytest.fixture...def supply_url(): 返回“ https://reqres.in/api” test_list_user.py –包含列出有效和无效用户测试方法 test_list_valid_user...测试有效用户访存并验证响应 test_list_invaliduser测试无效用户访存并验证响应 import pytest import requests import json @pytest.mark.parametrize...test_login_valid使用电子邮件和密码测试有效登录尝试 test_login_no_password在不通过密码情况下测试无效登录尝试 test_login_no_email测试无效登录尝试

1.4K31

python pytest测试框架

python默认package,需要手动安装。...pytest支持python 2.6--3.5之间版本,同时可以在windows、unix系统上安装安装方式:pip install pytest 安装完成后,可以查看版本:pytest --version...三、pytest参数1、-K EXPRESSION 执行某个关键字用例 用例要匹配给出表达式;使用python语法,匹配范围是文件名、类名、函数名为变量,用and来区分如下面一段测试用例# content...可以看出,test_a这个用例被取消选择了,没有运行了3、--maxfail=num 当错误个数到达给定数时,退出测试,这里就不列举实例了,结果与-x类似4、-m MARKEXPR 只能运行有相应标识测试用例...支持以xUnit格式型测试模型(setup/teardown),但还与python自带unittest还是有一点差别,如下  模块形式----使用setup_module/teardown_module

1.5K20
  • Pytest 高效测试 Python 代码

    本文中,云朵君将和大家一起学习Python中最好用测试模块--Pytest,主要学习如下: Pytest优点 怎么保证测试无状态 怎么让重复测试更浅显易懂 怎么命名或自定义组进行分组测试 如何创建和维护可复用测试程序...目前,最流行测试框架代码都在解决方案 unittest 一些问题,它们 pytest 本身就是一个生态、插件、Python 测试体系。...何时创建 Fixtures 编写一个函数 format_data_for_display(),用来处理一个 API 端点返回数据。...Fixture另一个用途是保护对资源访问。假设我们已经为处理API调用代码编写了一个测试套件,并希望确保测试套件不会进行任何真正网络调用,即使测试意外地执行了真正网络调用代码。...我们可以通过这个广泛第三方插件列表[13]查看哪些其他插件可用于pytest。 数据单元科学测试 数据科学从业者,特别是加速,正常错误是不写单元测试犯结果。

    39320

    Python pytest测试框架详解

    pytest介绍: pytest是一个非常成熟全功能Python测试框架: 1.简单灵活,容易上手 2.支持参数化 3.测试用例skip和xfail,自动失败重试等处理 4.能够支持简单单元测试和复杂功能测试...pytest – version:查看版本号 测试用例识别与运行: 识别: 测试文件: 1.test_.py 2.test.py 用例识别: 1.Test*类包含所有test*方法...(测试类不能有__init__方法) 2.不在class中所有test_*方法 pytest也可以执行unittest框架写用例和方法 运行: pytest -v :可以运行出详细日志信息...[标记名]将运行有这个标记测试用例 pytest -x 文件名:一旦运行到报错就停止运行 pytest –maxfail=[num]:当运行错误达到num时候就停止运行 pytest执行-失败重新运行...,可以加条件skipIf,在满足某些条件下才希望通过,否则跳过这个测试 Xfail场景 1.功能测试尚未实施或尚未修复错误,当测试通过时尽管预计会失败(标记为pytest.mark.xfail),

    2.9K50

    Python 测试框架 pytest —— 使用教程

    pytest是一个非常成熟全功能Python测试框架 。文本记录该框架使用方法。...简介 pytest是一个非常成熟全功能Python测试框架,主要有以下几个特点: 简单灵活,容易上手 支持参数化 能够支持简单单元测试和复杂功能测试,还可以用来做selenium/appnium...C:\Users\Administrator>pytest --version pytest 6.2.5 运行方式 测试类主函数模式 可以在 python 中执行 pytest 命令 引入 pytest...包,在python 中执行代码 pytest.main("-s test_abc.py") 命令行模式 直接执行命令 pytest 文件路径/测试文件名 pytest ..../log.xml 当错误达到num时,停止测试 –maxfail=num 只运行有MARKEXPR(自定义)标记测试 -m MARKEXPR 生成简略指定需求报告 -r option 函数数据参数化

    1.2K10

    Python 测试框架之 Unittest & Pytest

    Unittest Unittest是Python自带一个单元测试框架 Unittest中包含了对一些常规测试用例体系性支持,主要包括: test fixture test case test...测试框架中基础结构。...开头,系统便会认为这是一个测试用例 可以直接定义测试函数来定义测试用例 安装Pytest: 1、 使用命令:pip install pytest 2、 在Pycharm编译器里配置中添加,如下截图所示...内容如下: 点击如上图所示绿色小箭头,可查看到第一行提示:使用Pytest来运行test_demos.py文件,运行结果正常 将Python集成工具由Unittest切换成Pytest后,再来运行之前写使用...Python测试框架中常用框架Unittest与Pytest相关内容,在自动化测试过程中可以进行实操,提高测试效率。

    36010

    Python 测试框架 pytest —— 生成测试报告

    Pytest 执行过测试任务后我们需要查看整体测试情况,本文记录使用 pytest 生成测试报告几种方法。...简介 Pytest 生成测试报告有几种方法,本文以 mtutils 库中测试代码为例,分别尝试几种测试报告使用 ResultLog pytest 自带测试报告输出功能 该功能在 pytest 6.1.../log.txt test-dir pytest-HTML pytest-HTML 是一个 python 包,用于生成 pytest 测试结果HTML报告 安装测试包 pip3 install pytest-html...查看代码运行级别的覆盖率并生成直观 html 测试报告 pytest-cov 是pytest一个插件,其本质是引用 python coverage 库用来统计代码覆盖率 新版 pytest 默认已经自带...mtutils 库中测试代码为例 pytest --cov=.

    2.5K10

    Python测试框架pytest(23)插件 - pytest-picked、pytest-lazy-fixture

    Python测试框架pytest(23) 插件 pytest-picked、pytest-lazy-fixture 目录 1、pytest-picked(运行未提交git用例) 1.1、安装 1.2、...但是每次新增用例后,希望只执行未提交到 git 仓库里用例。 pytest-picked 插件可以实现只执行未提交到 git 仓库里测试用例。...运行结果:只运行新增2个文件用例 2、使用参数(--picked=first) 命令行输入执行命令 pytest --picked=first 运行结果:首先运行修改后测试文件,之后运行所有未修改测试文件.../usr/bin/env python # -*- coding: utf-8 -*- """ 微信公众号:AllTests软件测试 """ import pytest @pytest.fixture.../usr/bin/env python # -*- coding: utf-8 -*- """ 微信公众号:AllTests软件测试 """ import pytest @pytest.fixture

    28720

    Python测试框架之pytest详解

    6.8 生成 JUnitXML 格式结果文件 6.9禁用插件 6.10 从Python代码中调用pytest 6.11 测试脚本迁移后快速部署包含pytestvirtualenv 遇到问题 -...--- 前言 Python测试框架之前一直用是unittest+HTMLTestRunner,听到有人说pytest很好用,所以这段时间就看了看pytest文档,在这里做个记录。...pytest是一个非常成熟全功能Python测试框架,主要有以下几个特点: 简单灵活,容易上手 支持参数化 能够支持简单单元测试和复杂功能测试,还可以用来做selenium/appnium等自动化测试...code 2 用户中断了测试执行 Exit code 3 测试执行过程发生了内部错误 Exit code 4 pytest 命令行使用错误 Exit code 5 未采集到可用测试用例文件 1.6...long 还多,即使是 Ctrl+C 触发错误,也会打印出来 6.5 执行失败时候跳转到 PDB 执行用例时候,跟参数 –pdb,这样失败时候,每次遇到失败,会自动跳转到 PDB pytest

    2.3K20

    Python测试框架pytest(11)Hooks函数 - pytest_terminal_summary统计测试结果

    Python测试框架pytest(11) Hooks函数 pytest_terminal_summary统计测试结果 当用例执行完成后,希望获取到执行结果,方便了解用例执行情况,这时候就可以使用 pytest_terminal_summary...pytest_terminal_summary 源码: 参数: terminalreporter(内部使用终端测试报告对象) exitstatus(返回给操作系统返回码) config(pytest.../usr/bin/env python # -*- coding: utf-8 -*- """ 微信公众号:AllTests软件测试 """ import pytest @pytest.fixture.../usr/bin/env python # -*- coding: utf-8 -*- """ 微信公众号:AllTests软件测试 """ import pytest @pytest.fixture...但因为when='teardown'是测试用例后置操作,一般用于数据清理等操作,如报错不影响测试用例执行结果,所以在conftest.py文件里 pytest_terminal_summary函数获取测试结果进行了忽略统计

    50020

    接口测试第3讲:Python测试框架——pytest

    1672307959&play_scene=10400&vid=wxv_2586163560020492289&format_id=10002&support_redirect=0&mmversion=false 渗透式测试环境与代码...地址 String Linux_IP:LinuxIP地址 String JSP_PORT:JSP端口号 String PHP_PORT:PHP端口号 3、Apache中sec目录下include.php...> $windows_ip:WindowsIP地址 $linux_ip=:LinuxIP地址 $jsp_port=:JSP端口号 $php_port:PHP端口号 打开浏览,输入http://192.168.0.106...将DB下4个csv文件导入sec数据库中 渗透测试操作系统虚拟机文件vmx文件 1)Windows 2000 Professional 链接:https://pan.baidu.com/s/13OSz...pwd=s2i5 提取码:s2i5 开机密码:jerry/123456 安装了Apatche、Tomcat、MySQL、 vsftpd并且配套Web安全测试练习教案。

    31110

    Python测试框架之unittest和pytest

    最近调研了一下另一种主流测试框架PytestPytest是一个非常成熟全功能Python测试框架,本文主要对比了Unittest和Pytest这两种较为流行Python测试框架。...一、Unittest Unittest是Python标准库中自带单元测试框架,Unittest有时候也被称为PyUnit,就像JUnit是Java语言标准单元测试框架一样,Unittest则是Python...为了在老版本中支持这些特性,所以提供了unittest2这个库。但对于Python 2.7及之后版本,unittest是唯一。本次示例中使用python2.7。...二、Pytest PytestPython另一个第三方单元测试库。它目的是让单元测试变得更容易,并且也能扩展到支持应用层面复杂功能测试。...pytest特性有: 支持用简单assert语句实现丰富断言,无需复杂self.assert*函数 自动识别测试模块和测试函数 模块化夹具用以管理各类测试资源 对 unittest 完全兼容,对

    3.3K10

    Python测试框架pytest-基础演示

    加参数: -v用于显示每个测试函数执行结果,从输入中可以看到执行了test_pytest.py文件TestClass类test_add方法,由此引出直接运行方法命令,新加一个函数test_true...pytest -v test_pytest.py::TestClass -q 简单打印,只打印测试用例执行结果 -s 详细打印,修改测试函数加上输出。...-x 遇到错误时停止测试 -k 模糊匹配 新增一个函数为TestClass2,执行命令pytest -v -s -k "Two",-k “类名”表示任意位置模糊匹配类名所有类,并执行匹配到这些类所有方法...上面是网上看到,经过我自己测试发现-k "关键字"里面实际是同时匹配方法和类,修改代码如下。执行命令pytest -v -s -k "Two",同时匹配了类和方法。...,设置路径如下:File->settings->python integrated tools->Testing。

    51520

    Python测试框架pytest(13)assert断言

    Python测试框架pytest(13) assert断言 目录 1、常用断言 2、异常断言 1、与 unittest 不同,pytest 使用Python 自带 assert 关键字来进行断言.../usr/bin/env python # -*- coding: utf-8 -*- """ 微信公众号:AllTests软件测试 """ import pytest # 异常断言(断言它抛异常是不是预期想要.../usr/bin/env python # -*- coding: utf-8 -*- """ 微信公众号:AllTests软件测试 """ import pytest # 断言装饰器 @pytest.mark.xfail...with pytest.raise(ZeroDivisionError) 对于故意测试异常代码情况,使用可能会更好。...而 @pytest.mark.xfail(raises=ZeroDivisionError) 对于检查未修复错误(即可能会发生异常),使用检查断言可能会更好。

    68530

    Python测试框架pytest(24)配置文件pytest.ini

    python_functions 2、parser.addini()添加配置信息 pytest 配置文件可以改变 pytest 运行方式,它是一个固定文件 pytest.ini 文件,读取配置信息...pytest 里面有些文件是非 test 文件 pytest.ini:pytest 主配置文件,可以改变 pytest 默认行为。 conftest.py:测试用例一些 fixture 配置。...Suite结尾测试集合 1.8.2、python_files 一个或多个全局样式文件模式,用于确定哪些 python 文件被视为测试模块。..._*.py 除了默认匹配文件模式,新添加了check_*.py匹配模式 1.8.3、python_functions 一个或多个名称前缀或全局模式决定哪些测试函数和方法被视为测试。...python_functions = test_* 例如:修改pytest.ini文件 python_functions = test_* *_test 除了默认以前缀为test作为一个测试,新增了以后缀为

    99540

    聊聊 Python 单元测试框架(三):pytest

    作者:HelloGitHub-Prodesire 出处:HelloGitHub 文中涉及示例代码,已同步更新到 HelloGitHub-Team 仓库 一、介绍 本篇文章是《聊聊 Python 单元测试框架...作为本系列最后一篇,压轴出场Python 世界中最火第三方单元测试框架:pytest。...九、总结 三篇关于 Python 测试框架介绍到这里就要收尾了。写了这么多,各位看官怕也是看得累了。...✔ ✔ 社区生态 作为标准库,由官方维护 停止维护 维护中,活跃度低 维护中,活跃度高 Python 单元测试框架看似种类繁多,实则是一代代进化,有迹可循。...反之,pytest 无疑是最佳选择,众多 Python 开源项目(如大名鼎鼎 requests[17])都是使用 pytest 作为单元测试框架。

    1.9K40
    领券