【问题标题】:Generate Sonar code coverage report from Postman tests从 Postman 测试生成声纳代码覆盖率报告
【发布时间】:2017-02-11 15:46:07
【问题描述】:

有谁知道是否可以(以及如何)从 Postman 集成测试执行中生成代码覆盖率?

我们有基于 Postman 的集成测试,并通过 Windows shell 命令在 Jenkins 上执行它们。 令人沮丧的是,我们不知道如何生成代码覆盖率报告并将其发布到 SonarQube。

非常感谢您!

【问题讨论】:

    标签: jenkins sonarqube code-coverage postman newman


    【解决方案1】:

    您可以在 localhost 环境中运行测试,这样将照常测量覆盖率。实际上,这是一个很好的 CI 实践,因为您将测试您尝试部署的代码,而不是之前发布的版本。

    要实现该解决方案,您应该将测试 URL 指向 localhost(最好使用环境变量指示主机,以便在本地或生产环境之间轻松切换),然后在 jenkins 项目中添加 pre 和 post 执行为了在执行之前启动本地服务器并在之后停止它。

    这个link展示了如何在节点上实现解决方案,另一个link展示了如何在执行后停止本地服务器)

    【讨论】:

    • 嗯,开发人员是否必须在提交时运行这种类型的测试是相当有争议的,因为在那个阶段它可能会在某个时候花费你 15-30 分钟。无论如何,感谢您的解决方案,但在我的情况下它不适用,因为它是 JBoss/Wildfly 应用程序服务器,我错过了指定。
    • 问题不在于如何自动执行邮递员测试
    【解决方案2】:

    目前,Newman 中没有提供这样的功能,因为通过外部命令映射测试覆盖率在各种堆栈之间没有标准化。使这样的东西可用(和可用)还涉及创建并向 Newman 提供所有应用程序 URL 端点的清单(并改变 Newman 来解释它),以便有一个全局命名空间来检查百分比覆盖率。

    更多详情请查看https://github.com/postmanlabs/newman/issues/408

    【讨论】:

    • 事实上,经过一番谷歌搜索后,作为一种变通方法,我们可以使用挂在 java 应用程序服务器中的远程 Jacoco 代理。我们将尝试在测试执行之前和之后运行 jacoco maven 目标,以生成 jacoco 覆盖率报告。见:link如果我们有进展我会更新帖子。
    • @GKGeorgiev 你能用 JaCoCo 做到吗?
    • @Pooja,不幸的是,和其他许多事情一样,它仍然在积压的深处,我没有时间尝试它。对不起
    • @GKGeorgiev 半年后......你成功了吗?我现在处于同样的情况,也许你已经这样做了。我在一个类似的问题上开了一个赏金,如果你已经这样做了,那就是你的了 :) stackoverflow.com/questions/39869204/…
    • 亲爱的@aurelius,很遗憾我没有尝试过,因为我同时换了工作。我仍然认为这是可行的,但尚未测试。祝你好运,如果你尝试一下,请更新主题!
    猜你喜欢
    • 2016-11-18
    • 2012-10-05
    • 2017-10-25
    • 2019-11-01
    • 2017-09-03
    • 2019-09-02
    • 2013-10-14
    • 2016-08-04
    • 2012-01-07
    相关资源
    最近更新 更多