使用pytest中的prametrize驱动yml文件参数
时间: 2024-03-09 09:48:14 浏览: 57
可以使用pytest中的`@pytest.mark.parametrize`装饰器和`pytest-yaml`插件来实现驱动yml文件参数的功能。使用这种方法的步骤如下:
1. 安装pytest-yaml插件:
```
pip install pytest-yaml
```
2. 创建一个包含测试数据的yml文件,例如:
```yaml
- name: test_case_1
input: 1
expected_output: 2
- name: test_case_2
input: 2
expected_output: 4
```
3. 在测试文件中导入pytest和pytest-yaml:
```python
import pytest
from pytest_yaml import yaml
```
4. 使用`@pytest.mark.parametrize`装饰器和`yaml`函数来驱动yml文件中的参数:
```python
@pytest.mark.parametrize("test_data", yaml("test_data.yml"))
def test_function(test_data):
input_data = test_data["input"]
expected_output = test_data["expected_output"]
assert my_function(input_data) == expected_output
```
在这个例子中,pytest会自动读取test_data.yml文件中的数据,并将其作为参数传递给test_function。然后,测试函数可以从test_data参数中获取测试数据,并进行测试。这个例子中,测试函数会对my_function函数进行测试,验证其输入和输出是否符合预期。
阅读全文