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?
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?
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
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.
unittest discover
is a keyword phrase, so you shouldn't change it. The only part of the command you need to change to match your test directory is --source=./unittests
and -s unittests/
. –
Chicane 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
first you need to install coverage
pip install coverage
then run given commands(django application)
coverage run --source='.' manage.py test --keepdb
coverage report --skip-covered -m
© 2022 - 2024 — McMap. All rights reserved.