从Postman测试生成Sonar代码覆盖率报告

4

请问有人知道如何(以及如何)从Postman集成测试执行中生成代码覆盖率吗?

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

非常感谢您的帮助!

2个回答

1
你可以在本地环境中运行测试,这样覆盖率将像往常一样进行测量。实际上,这是一个很好的CI实践,因为您将测试您尝试部署的代码,而不是以前发布的版本。
要实现此解决方案,您应该将测试URL指向localhost(最好使用环境变量指示主机,以便轻松切换本地或生产环境),然后在Jenkins项目中添加预执行和后执行,以便在执行之前启动本地服务器并在执行之后停止它。
link显示如何在node上实现该解决方案,而此其他link显示如何在执行后停止本地服务器。

这个问题有点争议,开发人员是否必须在提交代码时运行此类测试,因为这可能需要花费15-30分钟的时间。无论如何,感谢您的解决方案,但在我的情况下不适用,因为它是JBoss/Wildfly应用服务器,我忘了指定。 - Georgi
1
问题不在于如何自动化执行Postman测试。 - aurelius

0

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

请参见https://github.com/postmanlabs/newman/issues/408获取更多详细信息。


实际上,在一番搜索后,我们可以使用远程Jacoco代理钩入Java应用服务器来解决问题。我们将尝试在测试执行之前和之后运行jacoco maven目标,以生成jacoco覆盖报告。请参见:链接 如果有进展,我会更新帖子。 - Georgi
@GKGeorgiev 你能用 JaCoCo 完成那个吗? - Pooja
@Pooja,不幸的是,像许多其他事情一样,它仍然深深地留在待办事项列表中,我没有时间去尝试它。抱歉。 - Georgi
@GKGeorgiev 半年过去了,你成功了吗?我现在也处于同样的情况,也许你已经做到了。 我在类似的问题上开了一个赏金,如果你已经做到了,那就是你的了 :) https://dev59.com/ilkS5IYBdhLWcg3wb2Ts - aurelius
亲爱的@aurelius,很抱歉我自从换工作后就没有尝试过了。我仍然相信这是可行的,但还没有测试过。祝你好运,如果你尝试了,请更新帖子! - Georgi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接