pytest json 数据驱动
时间: 2023-10-29 07:57:38 浏览: 137
pytest提供了一种数据驱动的方式来使用JSON数据进行测试。首先,需要在测试文件中导入`json`和`pytest`模块,并创建一个函数来读取JSON文件中的数据。然后,使用`@pytest.mark.parametrize`装饰器来将JSON数据作为参数传递给测试函数。最后,在主函数中使用`pytest.main`运行测试。
下面是一个示例代码,演示了如何使用JSON数据进行数据驱动测试:
```python
import json
import pytest
def get_data():
with open("test.json") as f:
data = json.load(f)
return data['keys']
@pytest.mark.parametrize('name', get_data())
def test01(name):
print(name)
if __name__ == '__main__':
pytest.main(["-vs", "test_json.py"])
```
这段代码首先从`test.json`文件中读取数据,然后使用`@pytest.mark.parametrize`装饰器将数据作为参数传递给测试函数`test01`。在测试函数中,可以通过`name`参数来访问JSON数据中的每个值。最后,通过运行`pytest.main(["-vs", "test_json.py"])`来执行测试。
这样,当你运行这个测试文件时,pytest会自动将JSON数据作为参数传递给`test01`函数,并且会根据JSON数据的数量来运行相应的测试用例。每个测试用例都会打印出相应的名称。
总结一下,以上代码展示了如何使用pytest和JSON数据进行数据驱动测试。通过读取JSON文件并将其作为参数传递给测试函数,你可以轻松地使用不同的数据运行多个测试用例。
阅读全文