我正在尝试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
添加回答
举报
0/150
提交
取消