发布测试结果
您可以使用其他持续集成和持续交付 (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 工具评估检测点。