当前位置: 代码迷 >> 综合 >> pytest(8): 配置conftest.py,pytest.ini
  详细解决方案

pytest(8): 配置conftest.py,pytest.ini

热度:23   发布时间:2023-11-21 17:37:56.0

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-------------')yieldprint('----------结束session-------------')@pytest.fixture(scope="module",autouse="True")
def mod_scope():print('----------开始module-------------')yieldprint('----------结束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 smokeget: 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

参考:

 pytest-配置文件 - 静心&得意 - 博客园

  相关解决方案