PyCharm: Coverage in community edition?
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.
You can use PyCrunch plugin for this.
As a bonus, tests will rerun when impacted files change.
disclosure: I'm an author of this plugin