the*_*Sin 5 python pylint pytest
我有一个典型的 Python 代码库,其中.py有数十个目录中的数百个文件,以及数十个/tests/充满test_whatever.py文件的目录(我使用 运行pytest)。
但是,老实说,我关心pylint测试文件中的内容比真正代码中的内容要低得多。如何忽略文件/tests/夹中文件的这四件事?
missing-module-docstringmissing-class-docstringmissing-function-docstringprotected-access我成功解决的唯一一个问题是函数文档字符串,将其放入我的pylintrc:
no-docstring-rgx=^_|^test_
Run Code Online (Sandbox Code Playgroud)
可以修复其他的吗?(我无法完全将测试文件排除在 linting 之外。)
小智 0
您可以使用 tox,它是一个通用的 virtualenv 管理和测试命令行工具。毒素可以帮助您:
您可以在他们的官方网站上阅读有关 tox 的更多信息
安装毒物pip install tox
在根级别添加 tox.ini 文件。请参阅下图中的项目结构
在 tox.ini 中,运行测试和 pylint 的基本配置如下所示:
[tox]
minversion = 2.0
envlist = py36, pylint
skipsdist = True
[testenv]
commands = {envbindir}/pytest {posargs}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/dev-requirements.txt
recreate = False
passenv = *
[testenv:pylint]
basepython=python3.6
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/dev-requirements.txt
commands=pylint src
pylint --disable=missing-module-docstring,missing-class-docstring tests
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我将 pylint 分成 2 个命令,这让我可以控制如何以不同的方式检查src和测试。
要运行 tox (tests + lint),只需tox在终端中从 tox.ini 目录运行即可。
如果您只想运行 pylint 那么您可以运行tox -e pylint