为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

侃侃无极 2021-11-02 10:15:39
我正在尝试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 --versionThis is pytest version 4.0.0, imported from /usr/local/lib/python3.6/dist-packages/pytest.pysetuptools registered plugins:  pytest-pylint-0.14.0 at /usr/local/lib/python3.6/dist-packages/pytest_pylint.py
查看完整描述

2 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

代表评论回答:

您是否在单元测试或实际单元测试失败中收到有关代码样式的 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


查看完整回答
反对 回复 2021-11-02
  • 2 回答
  • 0 关注
  • 178 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信