猿问

限制 py.test 只运行 pylint 而不是 unittests

我正在尝试py.test仅运行和执行 pylint,而不是单元测试。


此页面上的文档表明您可以做到:


https://pypi.org/project/pytest-pylint/


您可以通过键入以下内容将测试运行限制为仅执行 pylint 检查而不执行任何其他测试:


  py.test --pylint -m pylint

但是当我完全运行该命令时,我仍然从py.test找到的单元测试中得到错误。linting 过程似乎按预期运行,然后我在报告的 unittest 文件中收到一堆错误。这似乎与文档相反。


py.test --version表明我正在使用0.14.0:


$ py.test --version

This is pytest version 4.0.0, imported from /usr/local/lib/python3.6/dist-packages/pytest.py

setuptools registered plugins:

  pytest-pylint-0.14.0 at /usr/local/lib/python3.6/dist-packages/pytest_pylint.py


侃侃无极
浏览 179回答 2
2回答

慕无忌1623718

代表评论回答:您是否在单元测试或实际单元测试失败中收到有关代码样式的 linter 错误?– 格迪米纳斯 2 月 7 日 20:12好问题,主要是模块导入错误,单元测试文件中的 pythonpath 问题,虽然很容易解决,但根本不应该运行。我们只希望 Jenkins 管道的这一部分出现 lint 错误。我们将定义管道的另一部分以正确运行单元测试。– 大卫帕克斯 2 月 7 日 20:14"> 主要是模块导入错误,单元测试文件中的 pythonpath 问题,虽然很容易解决,但根本不应该运行。” - 我认为这里的解释是 pytest 试图加载单元测试模块,但实际上不会运行它们。-m pylint 是一个标记过滤器,这意味着只有标记为“pylint”的测试才需要运行。因此 pytest 必须查看所有测试并检查它们的标记。我猜想解决导入/pythonpath 问题会解决这个问题,并且 py.test --pylint -m pylint 会按预期运行。– 格迪米纳斯 2 月 7 日 20:47
随时随地看视频慕课网APP

相关分类

Python
我要回答