pytest 和conftest 结合使用
时间: 2023-07-08 08:13:11 浏览: 112
pytest自动化测试中conftest的配置使用
在 pytest 中,conftest.py 文件是一个特殊的文件,用于定义测试用例之间共享的 fixture 函数。fixture 函数可以在测试用例中通过名称来调用,这样可以避免重复编写代码。下面是 pytest 和 conftest 结合使用的示例:
1. 创建一个 conftest.py 文件,定义一个 fixture 函数:
```python
import pytest
@pytest.fixture(scope='session')
def login():
print("登录系统")
yield
print("退出系统")
```
2. 创建一个测试用例文件 test_demo.py,使用 conftest.py 中定义的 fixture 函数:
```python
def test_case1(login):
print("执行测试用例1")
def test_case2(login):
print("执行测试用例2")
```
在执行测试用例时,pytest 会自动查找 conftest.py 文件中定义的 fixture 函数,并将其传递给测试用例。在上面的示例中,每个测试用例都会先执行 login 函数,然后再执行测试用例本身。执行顺序如下:
```
登录系统
执行测试用例1
退出系统
登录系统
执行测试用例2
退出系统
```
这样可以确保每个测试用例都在同一个环境下执行,避免了测试用例之间的干扰。同时,也避免了重复编写登录和退出系统等代码的问题。
阅读全文