# -*- coding: utf-8 -*-
# @Time : 2023/6/8 20:37
# @Author : yanfa
# @user : yanfa
# @File : pytest_for_exception.py
# @remark: pytest 异常处理
"""常用异常处理方式
1/ try...except
try:
可能产生异常的代码块
except[(Error1,Error2,...)][as e]]:
处理异常的代码块1
except[(Error3,Error4,...)][as e]]:
处理异常的代码块2
except [Exception]
处理其他异常
"""
# try:
# a=int(input("输出被除数:"))
# b=int(input("输出除数:"))
# c=a/b
# print(f"相除结果为:{c}")
# except (ValueError,ArithmeticError):
# print("程序发生数字格式异常或算数异常")
# except:
# print("其他异常")
import pytest
"""
2/ pytest.raise()
可以捕获特定的异常
获取捕获的异常的细节,如异常类型,异常信息
发生异常,后面的代码将不会被执行"""
def test_raise():
with pytest.raises(ValueError,match='must be 0 or None'):
raise ValueError("must be 0 or None") #执行成功
# raise ZeroDivisionError("除数为0") #执行失败,因为捕获和抛出的类型不一致
def test_raise1():
# 同时抛出多个异常
with pytest.raises((ValueError,ZeroDivisionError)):
raise ZeroDivisionError("除数为0") #执行成功
def test_raise2():
with pytest.raises(ValueError) as exc_info:
raise ValueError("value must be 42")
# 获取异常类型和信息
assert exc_info.type is ValueError
assert exc_info.value.args[0]=="value must be 42"
python接口自动化-pytest-异常处理
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 常用命令 1、 pytest --collect-only --collect-only:表示把待执行的用例全部展...
- python程序流程控制是指python的代码执行顺序,流程。 程序结构 顺序结构是计算机程序的基础, 三种基本结...
- 3.8 浏览器 copy selector 我们选择元素有一个方法可以快速生成,右键点击元素点击检查定位到元素后,...
- 上篇我们给框架又做了几个小修改,最后的TestRunner.java是这个样子: 注意,现在TestRunner....