从0开始python学习-37.pytest中yaml的读写删除方法

本文介绍了如何在Python中使用`yaml`模块进行文件操作,包括直接写入并清空内容,参数化追加写入,以及使用`write`和`f.truncate()`方法清空文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1. 写入

1.1 直接写入,会清空历史的文件内容

1.2 参数化写入,且使用追加的形式

2. 读取

3. 清空

3.1 使用write清空

3.2 使用f.truncate()方法清空


1. 写入

1.1 直接写入,会清空历史的文件内容

def writer_yaml(yaml_path):
    with open(yaml_path,encoding="utf-8",mode="w") as f:
        yaml.safe_dump({"data":[{"ces1":'123'},{"ces2":2}]},stream=f,allow_unicode=True)

1.2 参数化写入,且使用追加的形式

data = {"data2":[{"ces3":'444'},{"ces4":222}]}

def writer2_yaml(yaml_path,data):
    with open(yaml_path,encoding="utf-8",mode="a") as f:
        yaml.safe_dump(data,stream=f,
结合PythonPytestYAML进行接口自动化测试通常涉及以下几个步骤: 1. **安装依赖**: - 首先,你需要安装`pytest`作为测试框架,以及用于解析YAML文件的库如`PyYAML`。 2. **创建YAML配置文件**: 使用YAML编写测试数据和预期结果,因为YAML是一种易于读写的格式,可以包含API请求URL、HTTP方法、头信息、请求体等。例如: ```yaml --- test_cases: - url: http://api.example.com/users method: GET headers: Authorization: Bearer your_token body: name: John Doe expected_status_code: 200 ``` 3. **编写测试脚本**: 创建一个Python测试文件,导入`pytest`和`requests`库,然后使用`pytest.mark.parametrize`装饰器从YAML文件加载测试案例: ```python import pytest from requests import Response def test_api_request(config_data): response = requests.request( config_data['method'], config_data['url'], headers=config_data.get('headers'), json=config_data.get('body', {}), ) assert response.status_code == config_data['expected_status_code'] @pytest.fixture def api_test_data(requests_module): with open("tests/api.yaml", "r") as f: return yaml.safe_load(f) # 使用@api_test_data标记将数据传递给test_api_request函数 pytest.mark.usefixtures("api_test_data")(test_api_request) ``` 4. **运行测试**: 运行命令`pytest`,它会自动读取并执行YAML文件中配置的接口测试。 5. **持续集成/持续部署(CI/CD)**: 将上述测试脚本集成到CI/CD流程中,确保每次代码变更后都能自动验证API接口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值