PyCharm:社区版涵盖范围吗?

时间:2019-09-03 07:57:19

标签: pycharm code-coverage

AFAIK“测试覆盖率”功能仅在专业版(code-coverage)中可用。

如何查看PyCharm社区版本的测试代码覆盖率?

3 个答案:

答案 0 :(得分:4)

您已经发现,测试覆盖率功能仅在专业PyCharm版本中可用。

可以做的是使用外部python程序包来执行测试套件的覆盖范围。该程序包名为coverage
您可以使用以下命令轻松安装它:

pip install coverage

然后,您可以通过PyCharm终端直接使用它(确保解释器是正确的)。

下面是一个简单的示例:
假设您具有这样的项目结构

- project_name
    - src
        - some_code.py
    - unittests
        - test_1.py
        - test_2.py  

要运行所有unittests文件夹,您必须在PyCharm终端中键入以下命令:

coverage run --source=./unittests -m unittest discover -s unittests/ && coverage report

请注意,在此示例中,我是从project_name目录启动命令。

通过这种方式,将运行单元测试并显示覆盖率。

另一个有趣的选择是创建HTML报告。如果您有兴趣,请使用以下命令

coverage run --source=./unittests -m unittest discover -s unittests/ && coverage html

通过这种方式,将添加一个新文件夹,其中包含html报告的所有源。

coverage包有很多选项,并且可以用不同的方式自定义它,因此请检查documentation

答案 1 :(得分:3)

您可以为此使用PyCrunch插件。

UI

作为奖励,当受影响的文件更改时,测试将重新运行。

披露:我是此插件的作者

答案 2 :(得分:0)

首先,您需要安装Coverage

pip install coverage

然后运行给定命令(Django应用程序)

coverage run --source='.' manage.py test --keepdb
coverage report --skip-covered -m