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实现购物系统(示例讲解)

    欢迎对我的文章感兴趣,下面将对Python实现购物系统做出详细的讲解攻略。 1. 实现思路 该购物系统的实现思路如下: 首先需要构建一个商品列表,支持添加/删除商品,展示商品信息; 其次需要实现购物车功能,包括添加/删除商品到购物车、查看购物车、结算等操作; 最后是结算功能,结算时需要展示所有购买的商品和总价,并清空购物车。 2. 实现步骤 2.1 商品列表…

    python 2023年5月19日
    00
  • python随机生成库faker库api实例详解

    Python随机生成库faker库API实例详解 本文将详细讲解如何使用Python的faker库生成随机数据。 安装 运行以下命令安装faker库: pip install faker 使用faker库生成随机数据 导入faker库: from faker import Faker 在需要生成数据的地方,创建Faker对象: fake = Faker() …

    python 2023年6月2日
    00
  • python中执行shell的两种方法总结

    当需要在Python中执行Shell命令或者脚本时,有两种方法可以使用:os.system()和subprocess.Popen()。 os.system()方法 os.system()允许我们在Python中执行一些简单的Shell命令。例如,我们可以使用os.system()来查找当前工作目录并打印它。 import os os.system(&quot…

    python 2023年6月5日
    00
  • Python SVM(支持向量机)实现方法完整示例

    Python SVM(支持向量机)实现方法完整示例 本文介绍如何使用Python实现SVM(支持向量机)分类器。将会涵盖以下内容: SVM的基本概念 SVM的实现方法 SVM的参数调整 实现一个SVM分类器的完整示例 SVM的基本概念 SVM是一种强有力的、灵活的、可用于分类、回归和异常检测的机器学习算法。SVM基于找到一个最优的超平面来区分两个或多个类别。…

    python 2023年5月18日
    00
  • Python 序列化反序列化和异常处理的问题小结

    Python序列化反序列化和异常处理是 Python 编程中非常重要的话题。序列化是指把内存中的数据按一定的格式保存到硬盘或者传输,反序列化则是指从硬盘或者网络加载相应的数据并重新构造到内存中。异常处理则是指针对可能出现的各种意外情况进行预先的处理,从而使程序能够更加健壮的运行。 一、Python 序列化和反序列化 Python 中常见的序列化和反序列化格式…

    python 2023年5月13日
    00
  • Python函数any()和all()的用法及区别介绍

    Python函数any()和all()的用法及区别介绍 1. any()函数 1.1 概述 python内置的any()函数用于判断可迭代对象中的元素是否存在True值,如果存在则返回True,否则返回False。 1.2 语法 any(iterable) 1.3 参数解释 iterable : 可迭代对象(列表、元组、字典、集合、字符串等); 1.4 返回…

    python 2023年5月14日
    00
  • Python字典对象实现原理详解

    Python字典对象实现原理详解 什么是字典? 字典(dict)是Python中内置的一种数据结构。它是一种可变容器,可以存储任意数量的(键,值)对,其中键是独一无二的,具有不可变性,值可以是任意类型的对象。在字典中,键和值之间用冒号分隔,键值对之间用逗号分隔,整个字典用花括号括起来。 字典的实现原理 字典是Python中的关键数据结构之一,它的实现原理是基…

    python 2023年5月13日
    00
  • Python基础之高级变量类型实例详解

    Python基础之高级变量类型实例详解 Python是一门灵活强大的编程语言,支持多种高级变量类型,包括列表、元组、字典和集合。这些类型可以帮助开发者更加便捷地处理数据和进行计算。 本文将详细讲解这些高级变量类型的使用,并给出几个实例说明。 列表 列表是Python中最常用的高级变量类型之一。它是一个有序的集合,可以存储不同类别的数据。列表通过方括号[]来表…

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