pytest -fixture-01

75 阅读1分钟

pytest-fixture-01

pytest-fixture 用法01:

需要查询数据库得到多条数据进行校验单个字段的正确性时,统一查询出相关数据,再一一校验

scope:[class,function,module,session]

fixture里面有个scope参数可以控制fixture的作用范围:session>module>class>function

-function:每一个函数或方法都会调用
-class:每一个类调用一次,一个类中可以有多个方法
-module:每一个.py文件调用一次,该文件内又有多个functionclass
-session:是多个文件调用一次,可以跨.py文件调用,每个.py文件就是module
作用于class类

case_data = [("订单号", "商户值")]


class TestDemoClass():

    @pytest.fixture(scope="class", params=case_data)
    def data(self, request):
        """
        获取数据
        :return: 返回需要校验的数据
        """
        data = 查询数据方法
        return data

    # data传入test01用例中
    def test01(self, data):
        
        assert data=data, "校验数据,自定义assert失败返回值"
   
   # 用例2
    def test02(self, data)
       
        assert data=data, "校验数据,自定义assert失败返回值"

tips:

在pycharm中用例方法test首字母小写,Test在pycharm不能识别,就会导致运行按钮不显示

image.png