自动化测试python+pytest+yaml
时间: 2023-08-07 18:06:31 浏览: 159
自动化测试是一种通过编写代码来执行测试用例的方法,它可以提高测试效率和准确性。在Python中,结合使用pytest和yaml可以实现自动化测试。
首先,你需要安装pytest和PyYAML库。你可以使用以下命令来安装它们:
```
pip install pytest PyYAML
```
接下来,你可以创建一个测试用例文件,使用pytest的装饰器来标记测试函数。例如,你可以创建一个名为`test_example.py`的文件,并在其中定义一个测试函数:
```python
import pytest
def test_addition():
assert 2 + 2 == 4
def test_subtraction():
assert 5 - 3 == 2
```
然后,你可以使用以下命令来运行测试:
```
pytest test_example.py
```
接下来,你可以使用yaml文件来定义测试数据和预期结果。例如,你可以创建一个名为`test_data.yaml`的文件,并在其中定义测试数据和预期结果:
```yaml
- data: [2, 2]
expected_result: 4
- data: [5, 3]
expected_result: 2
```
然后,在测试函数中读取yaml文件,并使用其中的数据运行测试。你可以使用PyYAML库来解析yaml文件。例如,修改`test_example.py`文件如下:
```python
import pytest
import yaml
def load_test_data():
with open('test_data.yaml', 'r') as file:
test_data = yaml.safe_load(file)
return test_data
@pytest.mark.parametrize("data, expected_result", load_test_data())
def test_addition(data, expected_result):
assert data[0] + data[1] == expected_result
@pytest.mark.parametrize("data, expected_result", load_test_data())
def test_subtraction(data, expected_result):
assert data[0] - data[1] == expected_result
```
运行pytest命令时,它会自动加载yaml文件中的测试数据,并运行相应的测试用例。
这只是一个简单的例子,你可以根据实际需求来编写更复杂的自动化测试代码。希望对你有帮助!如有其他问题,请继续提问。
阅读全文