IBM Cloud Docs
发布测试结果

发布测试结果

您可以使用其他持续集成和持续交付 (CI/CD) 工具以及 IBM Cloud® 命令行界面 (CLI) 与 IBM Cloud® DevOps Insights 相集成,以发布测试结果。 测试结果会通知 DevOps Insights 有关构建过程中运行的测试的信息。 这些测试必须生成某种类型的基于 JSON 或 XML 的文件。

生成的测试文件将作为测试记录发布。 除了测试文件,此记录还包含应用程序名称、构建号、测试类型以及其他字段。 测试记录中的应用程序名称和构建标识必须与特定构建的构建记录中使用的名称和构建标识相匹配。 在 CI/CD 工具中运行测试后,可以将结果上传到 DevOps Insights

准备工作

在发布测试结果之前,必须先发布部署记录。 有关更多信息,请参阅使用其他 CI/CD 工具发布部署记录

发布测试结果

使用 "testrecord-publish 命令上传测试记录。 以下示例脚本会将功能验证测试 (FVT) 结果上传到 DevOps Insights:

# Run tests and generate a test results file here.

#install the DevOps Insights plugin
ibmcloud plugin install -f doi

# Log in to IBM Cloud if you are not already logged in.  Assumes that $API_KEY environment variable has been set as a secured property
ibmcloud login --apikey $API_KEY --no-region

ibmcloud doi testrecord-publish --logicalappname="$MY_APP_NAME" --buildnumber="$MY_BUILD_NUMBER" --filelocation fvttest.json --type fvt

在示例脚本中,"testrecord-publish 命令指定上传测试记录。 --filelocation 标志指示测试结果文件相对于作业根目录的位置。 --type 标志指示测试结果的类型。

以下示例脚本运行测试,然后将 Mocha 结果上载到 DevOps Insights:

# Run tests and generate a test results file here.
istanbul cover --report lcov --report json-summary _mocha -- -R xunit -O output=./test/results/mocha.xml 'test/**/*.js'

#install the DevOps Insights plugin
ibmcloud plugin install -f doi

# Log in to IBM Cloud if you are not already logged in.  Assumes that $API_KEY environment variable has been set as a secured property
ibmcloud login --apikey $API_KEY --no-region

#Publish test results.  Assumes that MY_APP_NAME and MY_BUILD_NUMBER environment variables are already set
ibmcloud doi testrecord-publish --logicalappname="$MY_APP_NAME" --buildnumber="$MY_BUILD_NUMBER" --filelocation /test/results/mocha.xml --type unittest
ibmcloud doi testrecord-publish --logicalappname="$MY_APP_NAME" --buildnumber="$MY_BUILD_NUMBER" --filelocation ./coverage/coverage-summary.json --type code

此命令支持以下 type 值:

测试记录类型
Type 描述
unittest 单元测试结果
fvt 功能验证测试结果
code 代码覆盖结果
sonarqube SonarQube 扫描结果
staticsecurityscan 来自 IBM Application Security on Cloud 的静态安全扫描结果
dynamicsecurityscan 来自 IBM Application Security on Cloud 的动态安全扫描结果

测试记录必须采用以下某个支持的格式提供数据:

支持的格式
测试类型 支持的格式
功能验证测试 Mocha、xUnit、Karma/Mocha
单元测试 Mocha、xUnit、Karma/Mocha
代码覆盖 Cobertura、lcov、JaCoCo
静态 AppScan IBM Application Security on Cloud 提供的静态应用程序扫描
动态 AppScan IBM Application Security on Cloud 提供的动态应用程序扫描
SonarQube SonarQube 扫描提供的扫描数据

查看测试结果

当 CI/CD 工具运行时,它会向 DevOps Insights 发布测试结果数据。 要在 DevOps Insights 中查看测试结果数据,请转至“质量仪表板”页面。 有关更多信息,请参阅 DevOps 数据聚集

后续步骤

使用其他 CI/CD 工具评估检测点