我有这个版本的Python:
3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)]
在 PyCharm CE 2020.1.1 中的 Windows 10 上运行。使用非常简单unittest
:
# test_simple.py
from unittest import TestCase
class Simple(TestCase):
def test_one(self):
self.assertTrue(True)
我可以运行python -m coverage run -m unittest
,它完成并生成一个.coverage
的SQLite文件;我可以从生成测试结果树的IDE运行测试;但是运行/运行覆盖率是灰色的,没有解释。
我已经按照(相当分散的(PyCharm文档进行了设置/构建,执行,部署,启用激活覆盖视图,在将覆盖范围应用于编辑器之前显示选项,但这没有帮助。
为什么承保范围变灰,我该如何解决?
遗憾的是,IDE 覆盖支持在 PyCharm 社区版中不可用,如版本功能所示。
您必须像往常一样在命令行上运行覆盖率,例如本答案所示。
您还可以使用一些包装器来创建和打开 HTML 报表。可以在这篇博客文章中找到使用覆盖率的 pytest 的此类包装器的示例。以下是该博客中使用的脚本(请注意,我更改了覆盖路径以使用当前版本(:
import os
import subprocess
import webbrowser
def main():
subprocess.call(['coverage', 'erase'])
subprocess.call(['coverage', 'run', '--module', 'pytest'])
subprocess.call(['coverage', 'html'])
webbrowser.open("file://" + os.getcwd() + "/htmlcov/index.html", new=2)
if __name__ == '__main__':
main()