我有一个Java RESTful API。我在每个端点上使用REST Assured进行功能测试 当REST Assured(或任何类似工具)调用API时,有没有办法获取场景背后使用的类/方法(控制器,服务,DAO /存储库等)的代码覆盖率? (我想API应该从一些代理开始,或者报告在停止之前会发生什么?)。
答案 0 :(得分:0)
我最终使用JaCoCo 3>} SonarQube(Java代理和Maven插件)
在Sikandar的评论后编辑:
在我的情况下,它是一个Spring Boot应用程序,所以当我运行jar文件时,我添加了选项
-javaagent:/myapp/lib/jacoco.agent-0.7.9.jar=destfile=/myapp/coverage-reports/jacoco-at.exec
应用程序停止时会生成报告。然后我将SonarQube配置为使用文件/myapp/coverage-reports/jacoco-at.exec
进行分析
答案 1 :(得分:0)
您还可以使用像Sealights这样的服务,因为这是我们解决的问题(我在那里工作) - 获得超出单元测试的代码覆盖率,这意味着您的所有功能,Selenium,集成,性能测试都会被报告到一个仪表板。
请注意,您使用的解决方案(JaCoCo)可以,但它有一些缺点,例如:
只有当流程失败时才能提供保险范围,因此如果您进行了很长时间的测试,可能需要几个小时才能获得初始信息。
您无法看到后端和后端的覆盖范围。前端代码在一个位置。
基本上在Sealights中我们解决了所有这些问题,帮助您将测试集中在代码中已更改的区域,提供状态报告将向您展示您的团队的工作方式,包括如何优化测试的提示以及其他一些很酷的功能。
最后但同样重要的是,目前我们支持Java,NodeJS,基于浏览器的测试(即Selenium),.NET和Python。
快乐编程; - )