Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PyCharm: Coverage in community edition?

AFAIK the feature "test coverage" is only available in the professional version (code-coverage).

How to see code coverage of my tests with the PyCharm community version?

like image 809
guettli Avatar asked Sep 03 '19 07:09

guettli


2 Answers

As you have already found, test coverage feature is available only in the professional PyCharm version.

What is possible to do is using an external Python package that performs the coverage of your test suite. This package is named coverage.
You can easily install it using the following command:

pip install coverage

Then, you can use it directly via PyCharm terminal (be sure that the interpreter is the correct one).

Here a quick example:
suppose that you have a project structure like this one

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

In order to run all unittests folder you have to type in PyCharm terminal the following command:

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

Note that in this example I'm starting the command from the project_name directory.

In this way, unittests will be run and also a coverage will be displayed.

Another interesting option is create a HTML report. If you are interested in doing so, use the following command:

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

This way a new folder will be added which contains all source for the HTML report.

coverage package has a lot of options and it's possible customize it in different ways, so check documentation.

like image 79
Giordano Avatar answered Oct 08 '22 00:10

Giordano


You can use PyCrunch plugin for this.

UI

As a bonus, tests will rerun when impacted files change.

disclosure: I'm an author of this plugin

like image 8
Gleb Sevruk Avatar answered Oct 08 '22 01:10

Gleb Sevruk