conftest.py
如果希望多个测试文件共享fixture,可以在公共目录下新建一个conftest.py文件,将fixture放在其中
例:
目录结构:
.
├── conftest.py
├── __init__.py
├── test_001.py
└── test_002.py
#conftest.py
import pytest
@pytest.fixture(scope="session",autouse="True")
def sess_scope():
print('----------开始session-------------')
yield
print('----------结束session-------------')
@pytest.fixture(scope="module",autouse="True")
def mod_scope():
print('----------开始module-------------')
yield
print('----------结束module-------------')
特性:
conftest.py文件名固定,不可修改
conftest.py供其所在目录及子目录使用
conftest.py文件所在目录必须存在__init__.py文件
conftest.py文件不能被导入。`import conftest`的用法时不允许的
pytest.ini
pytest.ini是pytest的主配置文件,可以改变pytest的默认行为。
更改默认命令行选项
[pytest]
addopts = -rsxX -l --tb=short -strict
注册标记
[pytest]
markers =
smoke: run mark smoke
get: run mark get
指定pytest的最低版本号
[pytest]
minversion = 3.0
指定pytest忽略某些目录
[pytest]
norecursedirs = .* venv src *.egg dist build
指定测试目录
[pytest]
testpaths=testpath
更改测试搜索规则
[pytest]
python_classes = *Test Test* *Suite
python_files=test_* *_test check_*
python_functions = test_* *_test check_*
禁用XPASS
[pytest]
xfail_strict = true
参考: