A coverage report that measures changes in coverage between two branches.
Coverage information unrelated to your pull request is discarded.
Straightforward and clutter-free coverage reports for all your pull requests.
Sign-up, link your Github account and enable repositories for which you want differential code coverage.
After your CI service runs your tests, upload the generated coverage files to our servers. See how.
Couverture publishes differential coverage reports directly on your pull requests.
Sign-in with your Google account. That's right, we skipped the sign-up step to make your life easier (but especially ours so we don't have to store your passwords). If you don't have a Google account, then you know what to do next.
We currently support Github repositories. Once signed-in you can list your Github repos for which you want to enable differential code coverage reports.
Now it's time to upload your coverage reports. We currently support Cobertura reports, an XML file format. Almost all programming languages have tools to generate Cobertura reports. Oh, and here's a sample curl
command to run after your tests have generated the Cobertura report.
JOB_NAME
: The name of the job or build. Your project may produce more than one coverage report, for example for one for Python 2.7, one for Python 3.4, and one for Javascript. The job names could then be py27
, py35
and js
but it's really up to you.
COVERAGE_FILE
: The coverage report generated by your test suite, in the Cobertura file format.
REPO_OWNER
, REPO_NAME
: The owner and name of the enabled repository.
COMMIT
: The commit that triggered the build.
PULL_REQUEST
: If the pull request number is provided then Couverture will generate a differential coverage report and publish it on the pull request. Otherwise it is assumed that the commit was pushed outside of the context of a pull request (e.g. direct commit to master) and Couverture will save the coverage report for this commit in case a pull request is opened against it.
Now there's really nothing else to do but to wait for Couverture to generate and publish a differential coverage report to your pull request. The coverage report status will either be SUCCEEDED
or FAILED
and the commit status of your pull request will be reflected appropriately. There are two possible reason in case of failure: 1) the coverage has dropped or 2) coverage has improved but not all code changes are covered.
Your report may warn you that the base coverage was not found. This means that no coverage reports was uploaded for the branch you are trying to merge into and may cause the differential report to not display some coverage changes.
Couverture is currently in beta so if you see something, say something! By email is best, you will be thanked warmly.
Not right now. If you are interested to use Couverture with other providers such as Bitbucket or GitLab, let us know by email as it will help priotarize what to focus on next.
Not yet, but this will likely be a paid feature eventually. Interested? Let us know by email. The higher the demand, the faster it will happen.
Cobertura reports, an XML file format, are the only reports we currently support. Want more? Let us know which format you would like to see supported! Note that tools may be available to convert your coverage reports to cobertura.
Very likely! Most programming languages have tools to generate coverage reports in the cobertura format.
It's a French word and it translates to "blanket" in English. Random factoid: Couverture is also a form of chocolate with a high proportion of cocoa butter, used in dipping and coating to make food even more delicious.