Reporting Test Metadata
A test run in TeamCity can be associated with some additional information (metadata), complementing test status, execution time, and output. This information can be used to provide extra logs, screenshots, numeric values, tags, and so on.
You can use service messages to report this kind of additional test data in TeamCity and then view it in the TeamCity UI.
Reporting Additional Test Data
Additional test data is reported using the testMetadata
service message, with the following attributes:
name
(optional) is a name of the metadata item, used to distinguish different metadata items for the same test and to show this item in the UI. When omitted, TeamCity autogenerates the name, but does not show it in UI.testName
(optional) is the name of the test for which this metadata is generated. If the service message is reported in the middle of the test or immediately after its finish, thetestName
attribute can be skipped. If the metadata is reported later, it should contain the full test name, including suites and packages in the following format:<suiteName>: <packageName>.<testName>
(read more about interpreting test names).value
(mandatory) contains the metadata value associated with the test. The max value length is 1024.type
(optional) defaults to text unless otherwise specified. The type affects how metadata is stored and how its value is shown in the TeamCity UI.
If the format of the service message is incorrect, a corresponding note about it is written into build log.
The types of data which can be recognised by TeamCity are as follows:
Numeric Values
TeamCity draws a graph with numeric values for the given test. Each subsequent build run adds a new dot to the graph. The Y-axis is formatted according to the "type" parameter value: number
, ms
(for milliseconds), bytes
, or percent
.
String/Text
External Links
Links to Build Artifacts
The path to the artifact should be relative to the build artifacts directory, and can reference a file inside an archive:
When showing links to artifacts, TeamCity shows both the name
attribute and the filename of the referenced artifact. If the name was autogenerated, it is not shown.
Images from Artifacts Directory
The path to the image should be relative to the build artifacts directory. When displaying images, TeamCity shows both the name
attribute and the filename of the referenced image.
Videos from Artifacts Directory
The path to the video fragment should be relative to the build artifacts directory. When displaying video fragments, TeamCity shows both the name
attribute and the filename of the referenced video.
Displaying Additional Test Data
You can view additional test data in various places in the TeamCity web UI.
Additional Test Data for Failed Test
To view additional data for a test, expand the stacktrace: TeamCity shows it before the test failure details in a separate Test Metadata section.
Additional Test Data Graph for Numeric Values
To view the test data graph, expand the stacktrace: TeamCity shows it before the test failure details in a separate Test Metadata section.
Additional Data for Successful Tests
To view additional data for a successful test, go to the Tests tab or the Test History tab: the OK status for a test is now clickable if additional test data is present: