首页 > 其他分享 >pytest 如何测试函数中抛出的异常

pytest 如何测试函数中抛出的异常

时间:2023-12-12 17:24:22浏览次数:28  
标签:Info Exception name 抛出 self pytest 测试函数 raise

一般Python中异常可以用 raise 来抛出,此时单测中想要测试错误用例是否触发异常了,可以用pytest中的 with pytest.raises(xxx) 如下:

import pytest
import unittest


class Info(object):
    """info class"""

    def __init__(self, name):
        """
        初始化
        Args:
            name (str): 用户名称
        """
        if name == "":
            raise Exception("name is empty")
        self.name = name


class TestInfo(unittest.TestCase):
	"""
    Testcase for Info
    """
    def test_init(self):
    	some_value = ""
        # 判断是否raise了一个Exception
        with pytest.raises(Exception):
            one = Info("")
        expected = ""
        assert some_value == expected

  

 

标签:Info,Exception,name,抛出,self,pytest,测试函数,raise
From: https://www.cnblogs.com/joion/p/17897360.html

相关文章

  • pytest + yaml 框架 -60.git+jenkins+allure+钉钉通知反馈
    前言当我们自动化用例写完后,接下来就是如何运行用例,生成报告以及反馈通知了。如果你们公司已经有jenkins了,那么直接集成到jenkins上构建你的自动化任务是非常方便的。用例上传git仓库第一步,将写好的自动化用例,上传到本公司的git仓库。jenkins自动拉取仓库代码在jenkins上......
  • pytest + yaml 框架 -59.用例失败重跑机制pytest-rerunfailures
    前言有些接口可能不太稳定,第一次跑的时候由于网络原因或者其它原因失败,但是重新跑2次又成功了。对于这种需要重新跑几次的场景,可以使用用例失败重跑机制,需安装pytest-rerunfailures插件。场景示例失败重跑需要依赖pytest-rerunfailures插件,使用pip安装就行pipinstallp......
  • ModuleNotFoundError: No module named '_pytest.resultlog'
    新环境运行Python时报错 ModuleNotFoundError:Nomodulenamed'_pytest.resultlog'上网查,看到解决方法  https://www.cnblogs.com/QiKa/p/14457269.html解决办法:①升级pytest-rerunfailures版本到9.1.1②卸载pytest-rerunfailures使用pytest-reportlog代替③降低pytest版本......
  • pytest框架学习-fixture
    一、fixture是什么被@pytest.fixture()装饰器装饰的函数就是一个fixture,fixture可以灵活的为不同范围的测试用例提供前置和后置操作,以及向测试用例传递测试数据。 二、fixture定义@pytest.fixture(scope=“function”,params=None,autouse=False,ids=None,name=None)参数说明......
  • java: 未报告的异常错误java.io.UnsupportedEncodingException; 必须对其进行捕获或声
    原问题代码:/**MD5编码相关的类@authorwangjingtao*/publicclassMD5{//首先初始化一个字符数组,用来存放每个16进制字符privatestaticfinalchar[]hexDigits={'0','1','2','3','4','5','6','7'......
  • Pytest:Fixture参数
    Fixture作用域之scope用于控制Fixture的作用范围,作用类似于Pytest的setup/teardownscope参数可以是session,module,class,function,默认为function,作用范围顺序:session》module》class》function名称范围说明function函数级每一个函数或方法都会调用class类级别每个......
  • Pytest:Fixture调用
    fixture的优势fixture是在测试函数运行前后,由pytest执行的外壳函数。fixture中的代码可以定制,满足多变的测试需求,包括定义传入测试中的数据集,配置测试前系统的初始状态,为批量测试提供数据源,等等。命名方式灵活,不局限于setup和teardown这几个命名fixture调用方式1、使用fixtu......
  • 如何用Pytest做性能测试?5个步骤轻松学会!
    Pytest其实也是可以做性能测试或者基准测试的。是非常方便的。可以考虑使用Pytest-benchmark类库进行。安装pytest-benchmark首先,确保已经安装了pytest和pytest-benchmark插件。可以使用以下命令安装插件:pipinstallpytestpytest-benchmark创建被测函数创建被测函数如下......
  • pytest参数化数据来源于excel文件时,如果读取参数化数据?
    一、问题pytest参数化数据来源于excel文件时,如果读取参数化数据? 二、回答有两种获取方式:1.列表嵌套列表的方式2.列表嵌套字典的方式更加推荐第2种列表推荐字典的方式,这样就算excel增加一列也没关系,不用大动代码,而列表嵌套列表的方式,一旦excel增加或减少一列,pytest.mark.para......
  • pytest之fixture使用方式
    一、问题pytest中fixture的调用方式有哪几种? 二、回答有4种方式:1.传参调用2.自动调用autouse=True3.手动调用usefixtures4.与parametrize结合调用indirect=True第一种方式:传参调用getToken方法装上了@pytest.fixture(),在testQuery(getToken)中传参,即可获取getToken方法的......