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

下面是关于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实现Dijkstra算法

    下面是关于“Python实现Dijkstra算法”的完整攻略。 1. Dijkstra算法简介 Dijkstra算法是一种用于解决权重图的单源最路径问题的贪心算法。它的基本思想是从起点开始,每次选择当前距离起点最近的一个顶点,并与该顶点相邻的顶点的距离。通过不断地距离起点最近的顶点,最终可以得到起点到所有其他顶点的最短路径。 2. Dijkstra算法的实现…

    python 2023年5月13日
    00
  • 基于Python实现Excel转Markdown表格

    下面我将为您详细讲解如何基于Python实现Excel转Markdown表格的完整实例教程。 准备工作 在进行Excel转Markdown之前,我们需要先安装一些Python库。在控制台或命令行中输入以下命令,依次安装即可。 pip install pandas pip install tabulate 其中,pandas用于读取和处理Excel表格数据,t…

    python 2023年5月14日
    00
  • 解决bat批处理输出乱码的问题

    针对批处理文件输出乱码的问题,可以从以下几个方面出发进行解决: 1. 修改批处理文件编码格式 批处理文件默认的编码格式是ANSI或GB2312,这种编码格式只支持少量的字符集,因此在输出过程中容易出现乱码现象。可以尝试将批处理文件的编码格式修改为UTF-8或者GBK格式,这样能够支持更广泛的字符集,很大程度上能够解决乱码问题。 示例: 将test.bat的编…

    python 2023年5月20日
    00
  • 用Python 执行cmd命令

    下面是用Python执行cmd命令的完整攻略,包含以下几个步骤: 导入os模块,用于执行系统命令。 import os 使用os.system()函数执行cmd命令。该函数会返回命令执行的状态码,如果命令执行失败,则返回非0值。例如,下面的代码会在控制台中执行dir命令并输出结果。 status = os.system(‘dir’) 如果需要获取命令执行结果…

    python 2023年6月2日
    00
  • Python 列表的基本操作介绍

    以下是详细讲解“Python列表的基本操作介绍”的完整攻略。 在Python中,列表是一种非常常用的数据类型,它可以存储多个元素,并且支持各种操作。本文将介绍Python列表的基本操作,包括创建列表、访问列表元素、添加和删除元素、列表切片、列表排序等。 创建列表 在Python中,可以使用方括号[]或list()函数来创建一个列表。例如: lst1 = [1…

    python 2023年5月13日
    00
  • Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例

    Python Cookbook:数据结构与算法 Python Cookbook是一本非常实用的Python编程指南,其中包含了许多有用的技巧和示例。本文将介绍其中一些有关数据结构和法的示例,包括如同时对数据做转换和换算处理操作。 示例1:使用生成器表达式对数据做转换和换算处理 有时候,我们需要对一些数据做转换和换算处理,例如将一个列表中的所有元素都转换为浮点…

    python 2023年5月14日
    00
  • Python最基本的输入输出详解

    下面是关于“Python最基本的输入输出详解”的完整攻略: 标准输入输出 在Python中,常用的输入输出方式有三种: 标准输入输出:通过控制台(或终端)输入或输出数据。 文件输入输出:通过文件读写的方式进行输入输出。 网络输入输出:通过网络传输数据进行输入输出。 其中,标准输入输出是最基本的方式,在Python中有内置的函数可供调用。 标准输出 Pytho…

    python 2023年6月5日
    00
  • Python实现简易过滤删除数字的方法小结

    下面是详细的攻略: Python实现简易过滤删除数字的方法小结 在Python中,我们可以使用多种方法来过滤或删除字符串中的数字。本文将介绍两种常用的方法,分别是使用正则表达式和使用列表推导式。 方法一:使用正则表达式过滤删除数字 在Python中,我们可以使用正则表达式来过滤或删除字符串中的数字。下面是使用正则表达式过滤删除数字的示例代码: import …

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部