记录使用data.load_yaml加载yaml文件

1.base_data.yaml文件如下:

init_admin_user:
  username: "wintest"
  password: "123456"

init_sql:
  insert_delete_user:
    - "INSERT INTO user(username, password, role, sex, telephone, address) VALUES('测试test', '123456', '1', '1', '13488888888', '北京市海淀区')"
    - "DELETE FROM user WHERE username = '测试test'"
  delete_register_user: "DELETE FROM jiyancloud_prod.jiyan_member WHERE phone_number='13800000000'"
  update_user_telephone: "UPDATE user SET telephone = '13500010004' WHERE id = 4"

2.加载yaml文件的代码

def get_data(yaml_file_name):
    try:
        data_file_path = os.path.join(BASE_PATH, "data", yaml_file_name)
        yaml_data = data.load_yaml(data_file_path)
    except Exception as ex:
        pytest.skip(str(ex))
    else:
        return yaml_data


base_data = get_data("base_data.yml")

解释一下:get_data 函数尝试从指定路径加载YAML文件。如果在尝试加载过程中发生任何异常,except Exception as ex 会捕获这个异常。此时,pytest.skip(str(ex)) 将被调用,它会立即停止当前测试用例并标记为跳过,原因是异常的字符串表示(str(ex))。这样做的目的是在加载YAML文件失败时,防止测试继续执行并产生错误结果,而是以更友好的方式告知测试被跳过,原因是加载数据时遇到了问题。如果文件成功加载,函数会返回解析后的YAML数据

加载结果:  yaml_data 是一个字典,其内容是从名为 data.load_yaml 的函数加载的YAML格式的数据。根据提供的YAML片段,字典结构如下:

yaml_data = {
    "init_admin_user": {
        "username": "wintest",
        "password": "123456",
    },
    "init_sql": {
        "insert_delete_user": [
            "INSERT INTO user(username, password, role, sex, telephone, address) VALUES('测试test', '123456', '1', '1', '13488888888', '北京市海淀区')",
            "DELETE FROM user WHERE username = '测试test'",
        ],
        "delete_register_user": "DELETE FROM jiyancloud_prod.jiyan_member WHERE phone_number='13800000000'",
        "update_user_telephone": "UPDATE user SET telephone = '13500010004' WHERE id = 4",
    },
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值