报告测试元数据
在 TeamCity 中进行的测试运行可与一些附加信息(元数据)关联,用来补充测试状态,执行时间和输出。 这些信息可用来提供额外的日志、屏幕截图、数值、标签等等。
您可以使用 服务消息 在 TeamCity 中报告此类附加测试数据,然后在 TeamCity UI 中查看。
附加测试数据是通过 testMetadata
服务消息进行报告的,具有以下属性:
名称
(可选)是元数据项的名称,用于区分同一测试的不同元数据项,并在用户界面中显示此项。 当省略时,TeamCity 会自动生成名称,但不会在 UI 中显示。testName
(可选)是为其生成元数据的测试的名称。 如果在测试中间或刚完成时报告了服务消息,可以跳过testName
属性。 如果元数据报告时间较晚,它应包含完整的测试名称,包括以下格式中的套件和包:<suiteName>:<packageName>.<testName>
(阅读更多关于 解读测试名称 的信息)。值
(必须)包含与测试相关联的元数据值。 最大值长度为 1024。类型
(可选)除非另有说明,否则默认为文本。 类型影响了元数据的存储方式以及其在 TeamCity UI 中的显示值。
如果服务消息的格式不正确,将会在构建日志中记录相应的注释。
note
在发送
testMetadata
消息时,所需的测试必须存在。 否则,TeamCity 将无法找到它,并在构建日志中打印“test not found”。 在这种情况下,您可以创建一个虚拟测试,并在其中调用testMetadata
:##teamcity[testStarted name='...'] ##teamcity[testMetadata type='...' value='...'] ##teamcity[testFinished name='...']
可以被 TeamCity 识别的数据类型如下:
TeamCity 为给定的测试绘制一个带有数值的图表。 每次后续的构建运行都会在图表上增加一个新的点。 Y 轴根据 "type" 参数值进行格式化: number
、 毫秒
(对于毫秒)、 bytes
或 百分比
。
##teamcity[testMetadata testName='package.Test.testName' name='setUp time' type='ms' value='434.5']
##teamcity[testMetadata testName='package.Test2.testName' name='Success rate' type='percent' value='91.2']
##teamcity[testMetadata testName='package.Test3.testName' name='Total amount' type='number' value='54']
##teamcity[testMetadata testName='package.Test4.testName' name='Package size' type='bytes' value='1048576']
##teamcity[testMetadata testName='package.Test.testName' name='some key' value='a text']
##teamcity[testMetadata testName='test.name' name='JetBrains' type='link' value='https://jetbrains.com']
##teamcity[testMetadata testName='test.name' type='artifact' value='path/to/catalina.out']
构件的路径应相对于 构建构件目录 ,并且可以引用存档中的文件:
##teamcity[testMetadata testName='test.name' type='artifact' value='logs.zip!/testTyping/full-log.txt']
当展示到构件的链接时,TeamCity 会同时显示 名称
属性和所引用构件的文件名。 如果名称是自动生成的,则不会显示。
##teamcity[testMetadata testName='test.name' type='image' value='path/to/screenshot.png']
镜像的路径应相对于构建工件目录。 当展示图片时,TeamCity 同时显示了 名称
属性和所引用图片的文件名。
##teamcity[testMetadata testName='test.name' type='video' value='path/to/screen-capture.mp4']
视频片段的路径应相对于构建工件目录。 在显示视频片段时,TeamCity 会同时显示 名称
属性和所引用视频的文件名。
您可以在 TeamCity 网页界面的各个位置查看额外的测试数据。
要查看测试的附加数据,请展开堆栈跟踪:TeamCity 在单独的测试元数据部分中显示了它,位于测试失败详情之前。

要查看测试数据图,展开 stacktrace:TeamCity 在单独的测试元数据部分中会在测试失败详情前显示它。

要查看成功测试的附加数据,请转到 Tests 选项卡或 测试历史 选项卡:如果存在附加测试数据,测试的 OK 状态现在可以点击。

Thanks for your feedback!