• fixture 调用函数名传参


    conftest.py
    @pytest.fixture(scope="class")
    def init_login():
    login_data = {"phone": tel, "country_code": 86, "password": "Pass123456", "device": "huawei",
    "push_token": "0869381037778028300002104600CN01"}
    login_res = HttpRequest.http_request("http://www.baidu.com/api/user/login/by_password", login_data,
    "post")
    print(login_res.json())
    token = login_res.json()['data']['token']
    print(token)
    headers = {'Hoo-Agent': "a/2.3.5/8.0.0/HUAWEI_ANE-AL00/wifi/baidu",
    "Content-type": "application/json",
    'Authorization': "Token " + token}
    print("headers", headers)
    yield (token) ## yield 后跟一个参数,或者不跟参数
    print("结束测试")




    # 测试类
    @pytest.mark.usefixtures("init_login")
    class TestOpenAPI():

    @pytest.mark.usefixtures("init_login")
    def test_freeze(self, init_login):
    print(init_login) # 返回的是token的值,如果此时用init_login[0],返回的是token字符串的第一个字符


    注意红色部分:
    1. 如果 yield 后跟一个参数,或者不跟参数,在测试类中 返回的是token的值,如果此时用init_login[0],返回的是token字符串的第一个字符
    2. 如果yield 后多个参数,测试测试类中,init_login 返回的是一个元组(或者列表,根据自己的设计),init_login[0],返回的是元组中的第一个元素。
  • 相关阅读:
    父类与子类之间的调用顺序
    ROW_NUMBER() OVER函数的基本用法用法
    String类
    代码块
    权限修饰符
    内部类
    final&static
    面向对象思想
    oracle存储过程常用技巧
    ORACLE EXECUTE IMMEDIATE 用法
  • 原文地址:https://www.cnblogs.com/zzllovehappy/p/10839151.html
Copyright © 2020-2023  润新知