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.cfg 或 pytest.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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 953134e97215ae31f6879fbd7368c18d43f709dc2fab5b7777db2bb2bac3a924 |
|
MD5 | e962bc0731dd062e9354f6bd65968150 |
|
BLAKE2b-256 | b58c7d4bb3475c373b16ece7a94bd0e33ec045076c9189ed4022299679885179 |
pytest_flakes-4.0.5-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d0e8602d882744fc6169247b62a51203c5a3d8f160892ff3b82f5b9c1e4bb675 |
|
MD5 | ca9876a9302b2218e2f660ac3659fb17 |
|
BLAKE2b-256 | b5f83e4f988403081d526c4fa5d0256f84ac03a60744e4f9d839526ab8cb7bef |