pytest配置文件pytest.ini的详细使用

yizhihongxing

下面是关于pytest配置文件pytest.ini的详细使用攻略。

简介

pytest.ini是一个pytest的配置文件,它位于您的项目目录中,并在pytest运行时自动加载。pytest.ini使用INI文件格式并使用[pytest]标头定义的默认选项。它允许您设置pytest的全局选项,如插件、选项和过滤器等。

使用步骤

  1. 创建pytest.ini文件,放入项目根目录下
  2. 在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技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • Python读取xlsx文件的实现方法

    下面我将为你详细讲解Python读取xlsx文件的实现方法的完整实例教程。 1. 准备工作 首先,需要安装Python的第三方库openpyxl来实现读取xlsx文件,可以通过pip命令进行安装。 pip install openpyxl 2. 实现方法 2.1 打开xlsx文件 首先需要打开xlsx文件,可以使用openpyxl.Workbook方法来打开…

    python 2023年5月13日
    00
  • python自动循环定时开关机(非重启)测试

    针对Python自动循环定时开关机的攻略,主要分为以下步骤: 1. 安装Python和所需库 首先需要安装Python环境,建议安装3.x版本。其次,我们需要安装黄哥Python个人软件源,以及所需的库。具体安装流程如下: 安装黄哥Python个人软件源。 在命令行中执行以下命令: sudo add-apt-repository ppa:jonathonf/…

    python 2023年5月19日
    00
  • python中的标准库html

    Python中的标准库html 在本文中,我们将介绍Python中的标准库html。html库提供了一些工具,用于处理HTML和XML文档。我们将介绍html库的基本用法,包括如何使用HTMLParser类解析HTML文档,以及如何使用escape()和unescape()函数转义和反转义HTML和XML实体。我们还将提供两个示例,以帮助读者更好地理解htm…

    python 2023年5月15日
    00
  • python 将Excel转Word的示例

    下面是一份完整的Python将Excel转Word的示例教程。 1. 安装依赖库 需要使用到 openpyxl 和 python-docx 两个Python依赖库,需要先进行安装: pip install openpyxl python-docx 2. 编写代码 下面是一个简单的示例,将Excel中的数据转成表格插入到Word文件中: import open…

    python 2023年5月13日
    00
  • python调用API实现智能回复机器人

    这里是关于“Python调用API实现智能回复机器人”的详细攻略。 概述 智能回复机器人是一种自动化的系统,它通过使用自然语言处理(NLP)和人工智能(AI)技术来理解人类自然语言并生成合适的回答。 在本攻略中,我们将探讨如何使用Python编写代码来调用API实现一个智能回复机器人。 步骤 步骤1:选择API服务提供商 我们需要选择一家适合的API服务提供…

    python 2023年5月18日
    00
  • 详解 Python 读写XML文件的实例

    下面是我的详细讲解: Python 读写XML文件的实例 什么是XML文件 XML是一种可扩展标记语言(Extensible Markup Language),可以用来存储和传输数据。XML使用标记来描述数据,标记包括开始标记和结束标记,开始和结束标记中间是数据。 Python 读取XML文件 在Python中,我们可以使用ElementTree模块来读取X…

    python 2023年6月3日
    00
  • Python实现归一化算法详情

    下面是关于“Python实现归一化算法详情”的完整攻略。 1. 归一化算法理论基础 归一化是一种常用的预处理技术,它的基本思想是将数据按照一定比例缩放到定的范围内,以便更好地进行分析处理。常用的归一化方法有两种,分别是最小-最大归一化和Z-score归一化。 1.1 最小-最大归一化 最小-最大归一化是一种常用的归一化方法,它的基本思想是将数据按照定的比例缩…

    python 2023年5月13日
    00
  • Python 2 和 3 兼容的方式通过键和值迭代 dict

    【问题标题】:Python 2 and 3 compatible way of iterating through dict with key and valuePython 2 和 3 兼容的方式通过键和值迭代 dict 【发布时间】:2023-04-06 11:58:01 【问题描述】: 由于使用iteritems(),我有以下仅适用于 Python 2…

    Python开发 2023年4月6日
    00
合作推广
合作推广
分享本页
返回顶部