跳转到主要内容

pytest插件,用于使用pyflakes检查源代码

项目描述

pytest-flakes

pytest插件,用于高效地使用pyflakes检查Python源代码。

用法

通过以下方式安装

pip install pytest-flakes

如果您输入

py.test --flakes

以.py结尾的每个文件都将被发现并通过pyflakes运行,从命令行参数开始。

简单用法示例

假设您有这段代码

# content of module.py

import os
from os.path import *

def some_function():
    pass

安装pytest-flakes后运行它将显示两个问题

$ py.test -q --flakes
F
================================= FAILURES =================================
______________________________ pyflakes-check ______________________________
/tmp/doc-exec-685/module.py:2: UnusedImport
'os' imported but unused
/tmp/doc-exec-685/module.py:3: ImportStarUsed
'from os.path import *' used; unable to detect undefined names
1 failed in 0.00 seconds

这只是pytest-flakes可以找到的许多问题中的两个。

按项目和文件配置pyflakes选项

您可以通过向您的 setup.cfgpytest.ini 文件添加一个 flakes-ignore 条目来为项目配置pyflakes检查选项,如下所示

# content of setup.cfg
[pytest]
flakes-ignore = ImportStarUsed

这将在全局范围内防止对星号导入的投诉。使用上述示例重新运行现在看起来更好

$ py.test -q --flakes
F
================================= FAILURES =================================
_________________ pyflakes-check(ignoring ImportStarUsed) __________________
/tmp/doc-exec-685/module.py:2: UnusedImport
'os' imported but unused
1 failed in 0.00 seconds

但当然,我们仍然希望删除 import os 行以实现干净的通过。

如果您有一些文件,您想特别忽略一些错误或警告,您可以在glob模式后跟一个空格分隔的代码列表来开始一个flakes-ignore行

# content of setup.cfg
[pytest]
flakes-ignore =
    *.py UnusedImport
    doc/conf.py ALL

忽略文件中的某些行

您可以通过附加特殊注释来忽略每一行的错误

import sys # noqa
app # pragma: no flakes

运行pyflakes检查和其它测试

您可以通过输入以下内容来限制测试运行仅执行“flakes”测试而不执行任何其他测试

py.test --flakes -m flakes

这将仅运行带有“flakes”关键字的测试,这些关键字是为由该插件添加的flakes测试项添加的。

如果您正在使用pytest < 2.4,则使用以下调用以产生相同的效果

py.test --flakes -k flakes

注意

此插件的存储库位于 https://github.com/asmeurer/pytest-flakes

有关pytest的更多信息,请参阅 https://pytest.cn

代码部分基于Ronny Pfannschmidt的pytest-codecheckers插件和Holger Krekel的pytest-pep8。

变更

4.0.5 - 2021-12-02

  • 针对即将推出的pytest 7.0中的弃用进行的进一步修复。[nicoddemus]

4.0.4 - 2021-10-26

  • 修复pytest-flakes以解决即将推出的pytest 7.0中的弃用。[bluetech]

  • 修复Python 3.10中的pytest-flakes测试套件。[bluetech]

  • 用GitHub Actions替换Travis CI。[bluetech]

4.0.3 - 2020-11-27

  • 使一些代码对未来版本的pytest进行未来化。[RonnyPfannschmidt]

4.0.2 - 2020-09-18

  • 修复在__init__.py文件上直接调用pytest –flakes的问题。[akeeman]

4.0.1 - 2020-07-28

  • pytest-flakes的维护已从fschulze转移到asmeurer。pytest-flakes的存储库现在位于 https://github.com/asmeurer/pytest-flakes/

  • 修复测试失败。[asmeurer]

  • 修复pytest的弃用警告。[asmeurer]

  • 修复无效的转义序列。[akeeman]

4.0.0 - 2018-08-01

  • 要求pytest >= 2.8.0并删除pytest-cache要求。从该版本开始,缓存已包含在pytest中。[smarlowucf (Sean Marlow)]

3.0.2 - 2018-05-16

  • 修复flakes标记名称中的拼写错误。[fschulze]

3.0.1 - 2018-05-16

  • 始终注册flakes标记,而不仅当使用--flakes选项时。[fschulze]

3.0.0 - 2018-05-16

  • 停止支持Python 3.3。到目前为止,它仍然可以工作,但不再进行测试。[fschulze]

  • 添加自pytest 3.1以来需要的flakes标记。[fschulze]

  • 使用pyflakes.api.isPythonFile检测Python文件。这可能比以前测试更多的文件,因此可能导致以前未捕获的失败。[asmeurer (Aaron Meurer)]

2.0.0 - 2017-05-12

  • 停止支持/测试Python 2.5、2.6、3.2。[fschulze]

  • 添加对Python 3.6的测试。[fschulze]

  • 修复了一些打包和元数据错误。[fladi (Michael Fladischer), fschulze]

1.0.1 - 2015-09-17

  • 与即将推出的pytest兼容。[RonnyPfannschmidt (Ronny Pfannschmidt)]

1.0.0 - 2015-05-01

  • 修复问题#6 - 支持PEP263源文件编码。[The-Compiler (Florian Bruhin), fschulze]

  • 明确许可为类似于pytest-pep8的MIT许可,这是从其中派生出来的。[fschulze]

0.2 - 2013-02-11

  • 通过使用add_marker() API适应pytest-2.4.2。[fschulze, hpk42 (Holger Krekel)]

  • 允许通过附加 # noqa 或 # pragma: no flakes 来跳过每一行的错误。[fschulze, silviot (Silvio Tomatis)]

  • Python 3.x兼容性。[fschulze, encukou (Petr Viktorin)]

0.1 - 2013-02-04

  • 初始发布。[fschulze (Florian Schulze)]

项目详情


下载文件

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

源代码分发

pytest-flakes-4.0.5.tar.gz (7.3 kB 查看哈希值)

上传时间 源代码

构建分发

pytest_flakes-4.0.5-py2.py3-none-any.whl (6.8 kB 查看哈希值)

上传时间 Python 2 Python 3

由...