XML reporting: coverage xml
The xml command writes coverage data to a "coverage.xml" file in a format compatible with Cobertura.
$ coverage xml --help Usage: coverage xml [options] [modules] Generate an XML report of coverage results. Options: --data-file=INFILE Read coverage data for report generation from this file. Defaults to '.coverage'. [env: COVERAGE_FILE] --fail-under=MIN Exit with a status of 2 if the total coverage is less than MIN. -i, --ignore-errors Ignore errors while reading source files. --include=PAT1,PAT2,... Include only files whose paths match one of these patterns. Accepts shell-style wildcards, which must be quoted. --omit=PAT1,PAT2,... Omit files whose paths match one of these patterns. Accepts shell-style wildcards, which must be quoted. -o OUTFILE Write the XML report to this file. Defaults to 'coverage.xml' -q, --quiet Don't print messages about what is happening. --skip-empty Skip files with no code. --debug=OPTS Debug options, separated by commas. [env: COVERAGE_DEBUG] -h, --help Get help on this command. --rcfile=RCFILE Specify configuration file. By default '.coveragerc', 'setup.cfg', 'tox.ini', and 'pyproject.toml' are tried. [env: COVERAGE_RCFILE]
You can specify the name of the output file with the -o switch.
Other common reporting options are described above in Reporting.
To include complete file paths in the output file, rather than just the file name, use [include] vs [source] in your ".coveragerc" file.
For example, use this:
[run] include= foo/* bar/*
which will result in
<classfilename="bar/hello.py"> <classfilename="bar/baz/hello.py"> <classfilename="foo/hello.py">
in place of this:
[run] source= foo bar
which may result in
<classfilename="hello.py"> <classfilename="baz/hello.py">
These options can also be set in your .coveragerc file. See Configuration: [xml].