Generic test data
On this page
SonarCloud supports a generic format for importing test coverage and test execution reports. This feature can help you integrate a tool that is not directly supported by SonarCloud by having your custom CI task convert the output of the unsupported tool to this generic format, which can then be imported into SonarCloud.
Generic coverage
Report paths should be passed in a comma-delimited list to:
sonar.coverageReportPaths
The supported format is described by the sonar-generic-coverage.xsd
:
and looks like this:
The root node should be named coverage
. Its version attribute should be set to 1
.
Insert a file
element for each file which can be covered by tests. Its path
attribute can be either absolute or relative to the root of the module. Inside a file
element, insert a lineToCover
for each line which can be covered by unit tests. It can have the following attributes:
lineNumber
(mandatory)covered
(mandatory): boolean value indicating whether a test hits that linebranchesToCover
(optional): number of branches that can be coveredcoveredBranches
(optional): number of branches that are covered by tests
Generic execution
Report paths should be passed in a comma-delimited list to:
sonar.testExecutionReportPaths
The supported format looks like this:
The root node should be named testExecutions
. Its version attribute should be set to 1
.
Insert a file
element for each test file. Its path
attribute can be either absolute or relative to the root of the module.
Note unlike for coverage reports, the files present in the report must be test file names, not source code files covered by tests.
Inside a file
element, insert a testCase
for each test run by unit tests. It can have the following attributes/children:
testCase
(mandatory)name
(mandatory): name of the test caseduration
(mandatory): long value in millisecondsfailure|error|skipped
(optional): if the test is not OK, report the cause with a message and a long descriptionmessage
(mandatory): short message describing the causestacktrace
(optional): long message containing details aboutfailure|error|skipped
status
Was this page helpful?