pytest 插件,用于使用 pyflakes 检查源代码
项目描述
pytest-flakes
py.test 插件,用于使用 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.cfg 或pytest.ini文件中添加flakes-ignore条目来为您的项目配置 pyflakes-checking 选项,如下所示:
# 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-pattern 和空格分隔的代码列表开始一个 flakes-ignore 行:
# content of setup.cfg
[pytest]
flakes-ignore =
*.py UnusedImport
doc/conf.py ALL
忽略文件中的某些行
您可以通过向它们附加特殊注释来忽略每行错误,如下所示:
import sys # noqa app # pragma: no flakes
运行 pyflakes 检查并且没有其他测试
您可以通过键入以下命令将测试运行限制为仅执行“薄片”测试而不执行任何其他测试:
py.test --flakes -m flakes
这只会运行标记有“flakes”关键字的测试,该关键字是为此插件添加的 flakes 测试项目添加的。
如果您使用的是 pytest < 2.4,则使用以下调用达到相同的效果:
py.test --flakes -k flakes
笔记
该插件的存储库位于https://github.com/asmeurer/pytest-flakes
有关 py.test 的更多信息,请参见http://pytest.org
该代码部分基于 Ronny Pfannschmidt 的 pytest-codecheckers 插件和 Holger Krekel 的 pytest-pep8。
变化
4.0.5 - 2021-12-02
对即将推出的 pytest 7.0 中弃用的进一步修复。[尼科德莫斯]
4.0.4 - 2021-10-26
修复 pytest-flakes 以在即将到来的 pytest 7.0 中弃用。[蓝科技]
修复 Python 3.10 中的 pytest-flakes 测试套件。[蓝科技]
将 Travis CI 替换为 GitHub Actions。[蓝科技]
4.0.3 - 2020-11-27
针对未来版本的 pytest 的一些代码的未来证明。[罗尼普凡施密特]
4.0.2 - 2020-09-18
修复直接在 __init__.py 文件上调用 pytest –flakes。[基曼]
4.0.1 - 2020-07-28
pytest-flakes 的维护已从 fschulze 转移到 asmeurer。pytest-flakes 的仓库现在位于https://github.com/asmeurer/pytest-flakes/
修复测试失败。[asmeurer]
修复来自 pytest 的弃用警告。[asmeurer]
修复无效的转义序列。[基曼]
4.0.0 - 2018-08-01
要求 pytest >= 2.8.0 并删除 pytest-cache 要求。自该版本以来,缓存包含在 pytest 中。[smarlowucf (肖恩·马洛)]
3.0.2 - 2018-05-16
修复薄片标记名称中的拼写错误。[fschulze]
3.0.1 - 2018-05-16
始终注册flakes标记,不仅在使用--flakes选项时。[fschulze]
3.0.0 - 2018-05-16
放弃对 Python 3.3 的支持。到目前为止它仍然有效,但不再经过测试。[fschulze]
添加自 pytest 3.1 以来所需的薄片标记。[fschulze]
使用 pyflakes.api.isPythonFile 来检测 Python 文件。这可能会测试比以前更多的文件,因此可能会导致以前未捕获的故障。[阿斯穆勒 (Aaron Meurer)]
2.0.0 - 2017-05-12
放弃对 Python 2.5、2.6、3.2 的支持/测试。[fschulze]
添加了对 Python 3.6 的测试。[fschulze]
修复了一些打包和元数据错误。[弗拉迪 (Michael Fladischer), fschulze]
1.0.1 - 2015-09-17
与即将推出的 pytest 兼容。[罗尼·普凡施密特 (Ronny Pfannschmidt)]
1.0.0 - 2015-05-01
修复问题 #6 - 支持 PEP263 进行源文件编码。[编译器(Florian Bruhin),fschulze]
明确许可是 MIT 之类的 pytest-pep8,这是从中派生的。[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 (弗洛里安·舒尔茨)]
项目详情
pytest_flakes -4.0.5-py2.py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | d0e8602d882744fc6169247b62a51203c5a3d8f160892ff3b82f5b9c1e4bb675 |
|
| MD5 | ca9876a9302b2218e2f660ac3659fb17 |
|
| 布莱克2-256 | b5f83e4f988403081d526c4fa5d0256f84ac03a60744e4f9d839526ab8cb7bef |