Codecov Python Example
Add the following to your
language: python after_success: - bash <(curl -s https://codecov.io/bash)
Produce Coverage Reports
coverage.py is required to collect coverage metrics.
Below are some examples on how to include coverage tracking during your tests. Codecov will call
coveragexml -i automatically to generate the coverage xml output, which will be archived and processed server side.
We highly suggest adding
source to your
.coveragerc which solves a number of issues collecting coverage.
pip install coverage coverage run tests.py
See the Offical Nose coverage docs for more information.
Codecov can be run from inside your
tox.ini please make sure you pass all the necessary environment variables through:
[testenv] passenv = CI TRAVIS TRAVIS_* deps = codecov commands = codecov
- Q: What's the difference between the codecov-bash and codecov-python uploader?
A: As far as python is concerned, nothing. You may choose to use either uploader. Codecov recommends using the bash uploader when possible as it supports more unique repository setups. Learn more at codecov/codecov-bash and codecov/codecov-python.
- Q: Why am I seeing
No data to report?
A: This output is written by running the command
coverage xmland states that there were no
- Make sure coverage is enabled. See Enabling Coverage
- You may need to run
coverage combinebefore running Codecov.
- Using Docker? Please follow this step: Testing with Docker: Codecov Inside Docker.
- Q: Can I upload my
A: No, these files contain coverage data but are not properly mapped back to the source code. We rely on
coveragepyto handle this by calling
coverage xmlin the uploader.
Repository tokens are required for (a) all private repos, (b) public repos not using Travis-CI, CircleCI or AppVeyor. Find your repository token at Codecov and provide via appending
-t <your upload token> to you where you upload reports.
Cobertura reports can expire - Codecov will reject reports that are older than 12 hours. The logs contain details if a report expired.