0

我的 Jenkins 工作之一是执行 MSTest。我将以下命令传递给 执行 Windows 批处理命令:

删除测试结果.trx

"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\MSTest.exe" /testcontainer:D:\Projects\Jenkins\TestResultVerificationFromJenkins\TestResultVerificationFromJenkins\bin\Debug\TestResultVerificationFromJenkins.dll /resultsfile:TestResults.trx /nologo /细节:标准输出

在执行时,控制台输出显示以下值:

开始执行... 结果顶级测试 ------- ---------------- 通过了 TestResultVerificationFromJenkins.UnitTest1.PassTest [stdout] = 测试通过* 1/1 测试通过

概括

试运行完成。通过 1


总共 1 个结果文件:C:\Program Files (x86)\Jenkins\jobs\JenkinsTestResultReader\workspace\TestResults.trx 测试设置:默认测试设置

在后期构建步骤中,我必须将 MS 测试结果“测试通过”传递给 HTTP 请求。

有什么方法可以将此结果保存在 Jenkins 变量中,以便我可以将其传递给 HTTP 请求?

问候, 乌梅什

4

1 回答 1

0

由于您处于后期构建步骤,因此您可以选择解析控制台输出以获取测试结果并将其发送到 HTTP 请求吗?

例如,使用Groovy Postbuild 插件,您可以编写一个小脚本来执行此操作。

也许是这样的:

if(manager.build.logFile.text.indexOf("Test Run Completed. Passed") >= 0)
   manager.listener.logger.println (new URL("http://localhost?parameter=Test+is+passed")).getText()
于 2016-08-18T04:45:51.577 回答