Pycharm / IntelliJ显示pytest的覆盖率为0%,即使生成了覆盖率

Jam*_*iew 5 python intellij-idea coverage.py pytest pycharm

我有一个Python项目和一个tests任务,设置为pytest从项目的工作目录运行。

在此处输入图片说明

这样做Run 'tests' with coverageRun菜单中成功运行的测试,并在控制台结果显示,覆盖测量-例如,53%盖mws.py

在此处输入图片说明

对于所有文件,自动应用的覆盖率(如右图所示)为0%,我不确定为什么。我正在使用IntelliJ 2017.2.2 EAP。

注意:有一个相关五岁的问题在这里,但最精彩的解决方案有不适用。在这种情况下,结果控制台中没有错误消息。

avi*_*ivr 22

我有一个类似的问题,但这里接受的解决方案没有解决它。

我已pytest在其配置文件中自动运行覆盖范围。在 PyCharm 中,我添加了一个运行配置来使用pytest. 它似乎有效,我看到所有测试都在运行,并将结果显示在 PyCharm 的运行窗口中。

但很快我就发现有两个问题:

  1. 当我选择“运行覆盖率”时,出现“未找到覆盖率结果”之类的错误,并且所有文件都显示 0% 覆盖率。
  2. 在调试模式下运行测试时,未命中测试中的断点。

--no-cov当我添加到传递给的“附加参数”时,这两个问题都消失了pytest(此选项位于运行配置中)。

所以看来修复是告诉从 PyCharm 运行它时不要运行覆盖pytest范围“运行覆盖率”选项和测试中的断点现在都可以工作。


ari*_*tll 7

我认为问题出在您的使用上pytest-cov,因此Pycharm无法解析以诸如53%生成的文本所示的结果pytest-cov

因此pytest.iniaddopts = -s -v当您要使用内置的Pycharm覆盖工具时可以使用“ 更改”选项。