跳转到主要内容

Pytest插件,用于限制允许的测试类型

项目描述

https://img.shields.io/github/actions/workflow/status/adamchainz/pytest-restrict/main.yml?branch=main&style=for-the-badge https://img.shields.io/pypi/v/pytest-restrict.svg?style=for-the-badge https://img.shields.io/badge/code%20style-black-000000.svg?style=for-the-badge pre-commit

Pytest插件,用于限制允许的测试类型。

特性

此插件允许您限制允许的测试类型,以确保它们继承自给定列表中的一个类。在项目中拥有自定义测试类,但开发者可能会忘记的情况下非常有用。

安装

使用以下方式安装

python -m pip install pytest-restrict

支持Python 3.8到3.12。


测试Django项目? 查看我的书籍 Speed Up Your Django Tests,它涵盖了大量编写更快、更准确测试的方法。


用法

Pytest 会自动找到插件并在运行 pytest 时使用它,然而默认情况下没有限制。要限制测试类型,请提供一个以逗号分隔的允许测试基类的导入路径列表 --restrict-types。导入路径传递给 pkgutil.resolve_name(),您应该首选以下形式 <module.path>:<classname>。最好在您的 pytest 配置文件中设置 --restrict-types

例如,要限制测试到 Django 的 测试用例类,请在 pytest.ini 中进行

[pytest]
addopts = --restrict-types django.test:SimpleTestCase

要允许函数测试和其他非类测试类型(如 doctests),请提供一个特殊的字符串“None”

[pytest]
addopts = --restrict-types None,django.test:SimpleTestCase

历史记录

在我为 YPlan 的 Django 项目开发闭源 Nose 插件时,我开发了此功能。我们在 Django 测试类之上进行了一些自定义增强和修复,但开发人员有时会忘记使用它们,而是使用了内置的 unittest 类,或者纯 Django 类。我们的解决方案是在遇到非白名单测试类型时让测试运行器出错。

此包是那个插件的 pytest 版本。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。

源分布

pytest_restrict-4.6.0.tar.gz (5.7 kB 查看散列)

上传时间

构建分布

pytest_restrict-4.6.0-py3-none-any.whl (4.9 kB 查看散列)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面