【问题标题】:How to save MS Test's result in a Jenkins variable?如何将 MS Test 的结果保存在 Jenkins 变量中?
【发布时间】:2016-08-18 03:29:12
【问题描述】:

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

del TestResults.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 /detail:stdout

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

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

总结

测试运行已完成。 通过 1


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

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

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

问候, 乌梅什

【问题讨论】:

    标签: jenkins jenkins-mstest


    【解决方案1】:

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

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

    可能是这样的:

    if(manager.build.logFile.text.indexOf("Test Run Completed. Passed") >= 0)
       manager.listener.logger.println (new URL("http://localhost?parameter=Test+is+passed")).getText()
    

    【讨论】:

    • 谢谢丹尼尔。我也在考虑同样的问题,但我正在寻找一个更优雅的解决方案。我可能需要编写自己的插件,它可以返回 Jenkins 作业的详细结果并能够将结果保存在变量中。
    猜你喜欢
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-01
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    相关资源
    最近更新 更多