下面是关于pytest配置文件pytest.ini的详细使用攻略。
简介
pytest.ini是一个pytest的配置文件,它位于您的项目目录中,并在pytest运行时自动加载。pytest.ini使用INI文件格式并使用[pytest]标头定义的默认选项。它允许您设置pytest的全局选项,如插件、选项和过滤器等。
使用步骤
- 创建pytest.ini文件,放入项目根目录下
- 在pytest.ini文件中添加配置项
下面是一些常见的pytest.ini配置选项:
markers
markers选项允许您定义自定义标记,这些标记可以用于筛选测试。例如:
[pytest]
markers =
slow: marked as slow test
fast: marked as fast test
webtest: marked as web test
在这个示例中,我们定义了3个标记:slow、fast和webtest,并为每个标记提供了描述。标记的名称和描述之间用冒号分隔,多个标记用换行符分隔。
使用这些标记如下:
import pytest
@pytest.mark.slow
def test_example():
assert 1 == 1
这个示例演示了如何给test_example()
函数标记slow标记。当您运行pytest时,您可以使用-m
选项来运行特定标记的测试:
pytest -m "slow"
log_cli
log_cli选项允许您在控制台输出log信息,帮助您更好的了解测试执行情况。例如:
[pytest]
log_cli = 1
在这个示例中,我们把log_cli设置为1,表示要开启控制台输出log信息。当您运行pytest时,您会看到类似下面的输出:
pytest -s
...
test_example.py::test_example PASSED [100%]
-------------------- live log call --------------------
test_example.py : 3: > def test_example():
test_example.py : 4: > assert 1 == 1
test_example.py : 5:
test_example.py : 6:
test_example.py : 7:
--------------------- Captured log ---------------------
INFO root:<module>:1 This is an info message.
addopts
addopts选项允许您添加任何命令行选项,Pytest 本身有很多选项,我们可以用跟 direcitves.
[pytest]
addopts = --maxfail=2 -rfp
在这个示例中,我们把addopts设置为--maxfail=2 -rfp
,表示运行时的参数。
示例说明
示例1:禁用warning信息输出
您可以通过配置pytest.ini文件来禁用warning信息输出。在pytest.ini文件中添加以下内容:
[pytest]
filterwarnings =
ignore:my custom warning message
表示忽略名称为"my custom warning message"的warning信息。
示例2:自定义fixture
您可以在pytest.ini文件中定义fixture,从而在所有测试中共享它们。例如,您可以在pytest.ini文件中定义一个名称为"webapp"的fixture,它返回已经初始化的webapp对象:
[pytest]
fixture_paths = tests/fixtures
这个示例中,fixture_paths选项表示fixture文件在tests/fixtures目录下。
在tests/fixtures/conftest.py文件中添加以下代码:
import pytest
@pytest.fixture(scope="session")
def webapp():
from myapp import create_app
return create_app()
此fixture的名称为"webapp",使用session级别的scope,因此它将在所有测试执行之前运行一次,并返回myapp.create_app()方法的返回值。您可以在测试函数中使用它,如下所示:
def test_root_path(webapp):
client = webapp.test_client()
response = client.get('/')
assert response.status_code == 200
这个示例演示了如何使用pytest配置文件在所有测试中共享fixture。
结语
以上就是关于pytest配置文件pytest.ini的详细使用攻略。期望这份攻略能够帮助您更好的理解pytest.ini文件的使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pytest配置文件pytest.ini的详细使用 - Python技术站