测试文件的不同 Pylint 标准

问题描述 投票:0回答:2

我有一个典型的 Python 代码库,其中数十个目录中包含数百个

.py
文件,以及数十个充满
/tests/
文件的
test_whatever.py
目录(我使用
pytest
运行)。

但是,老实说,我对测试文件中的事情的关心程度比真实代码中的事情要低得多。对于

pylint
文件夹中的文件,如何忽略这四件事?

    /tests/
  1. missing-module-docstring
  2. missing-class-docstring
  3. missing-function-docstring
  4. 
    
  5. 我唯一能够解决的问题就是函数文档字符串,将其放入我的
protected-access

中: pylintrc

其他的可以修复吗? (我无法完全将测试文件排除在 linting 之外。)


您可以使用 tox,它是一个通用的 virtualenv 管理和测试命令行工具。 毒可以帮助你:

python pytest pylint
2个回答
0
投票
检查你的包是否在不同的 python 版本中正确安装

在每个环境中运行测试
  • 充当持续集成服务器的前端
  • 您可以在他们的官方
  • 网站
中阅读有关tox的更多信息

使用 no-docstring-rgx=^_|^test_

安装 tox

在根级别添加 tox.ini 文件。请参阅下图中的项目结构

在 tox.ini 中,运行测试和 pylint 的基本配置如下所示: pip install tox

如您所见,我将 pylint 拆分为 2 个命令,这让我可以控制如何以不同的方式对

src
tests

进行 lint 处理。 要运行 tox(测试 + lint),只需在终端中从 tox.ini 目录运行 [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

如果您只想运行 pylint 那么您可以运行

tox

将 pylint 拆分为 prodcode 目录和测试目录有什么问题吗?


0
投票

deps = -r {toxinidir}/requirements.txt 命令= python -m pylint --rcfile=pylintrc --fail-under=9.5 --ignore-paths=prodcode/tests prodcode python -m pylint --rcfile=pylintrc --fail-under=9.5 --disable=missing-function-docstring,missing-class-docstring,unused-argument,missing-module-docstring prodcode/tests

它效果很好,但我无法用这种方法找到另一种解决方案,所以我有点不确定?唯一的缺点是测试时间稍微增加了几秒。

我错过了什么吗?

© www.soinside.com 2019 - 2024. All rights reserved.