跳转到主要内容

Pytest插件,用于检查您的TestCase类在setUp、tearDown等中调用super。

项目描述

https://img.shields.io/github/workflow/status/adamchainz/pytest-super-check/CI/main?style=for-the-badge https://img.shields.io/pypi/v/pytest-super-check.svg?style=for-the-badge https://img.shields.io/badge/code%20style-black-000000.svg?style=for-the-badge pre-commit

未维护(2022-12-07)

由于此包从未流行,我停止了维护。我认为使用lint规则来强制在测试用例中调用super()会更好。


Pytest插件,用于检查您的TestCase类在setUp、tearDown等中调用super。

功能

此插件检查测试套件中的所有TestCase类,以确保它们的setUptearDownsetUpClasstearDownClasssetUpTestData(Django扩展)方法都调用了super()。当您在特定基类中对这些方法有扩展,并且由于不小心遗漏了super()而导致出现微妙的bug时,您可能对此很关心。

关于

我在为YPlan的Django大项目工作时,在一个闭源Nose插件中开发了这一功能。我们对Django测试类进行了一些定制增强和修复,但某些TestCase类没有在例如setUp中调用super(),这导致测试以相当微妙的方式失败或错误地通过。由于Django的setUp等做了不要求调用super()的魔法,这个问题变得更加严重。我们的解决方案是确保每个TestCase在这些方法中始终调用super()。这是该插件的Pytest端口。

安装

使用以下命令安装

python -m pip install pytest-super-check

支持Python 3.7至3.11。


正在测试Django项目?查看我的书籍加速您的Django测试,其中涵盖了编写更快、更精确测试的多种方法。


用法

Pytest会自动查找并使用插件。如果发现任何具有setUp等方法的unittest.TestCase子类,则测试发现将会失败。

您可以通过将选项-p no:super_check传递给pytest来禁用插件。

项目详情


下载文件

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

源分布

pytest-super-check-2.6.1.tar.gz (5.4 kB 查看哈希值)

上传时间

构建分布

pytest_super_check-2.6.1-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 状态页面