如何获取类似于 Sonarqube 的 Salesforce 代码覆盖率报告

How To Get Salesforce Code Coverage Report Similar to Sonarqube

问题是我们开发 apex 代码,然后我们编写测试 class,它覆盖了 apex 至少 75% 的代码覆盖率 class,现在当我登录到开发者控制台时,我是能够看到很小的代码覆盖率,因为需要手动转到开发人员控制台,我想要一些报告,可以向高级经理显示有关整个组织的 Salesforce 测试代码覆盖率的报告

但是是否有可能在与 sonarqube 代码覆盖率报告非常相似的复杂报告中得到这个

提前致谢 卡罗琳

Sonarqube understands Apex 因此,如果您已经拥有许可证,它可能比您想象的要简单。还有其他工具,例如 Clayton(我也不隶属于)。

如果你想要hand-craft类似的东西...

要以更易读的格式获得这些结果,您可以从 DeveloperConsole 中的查询开始(查询选项卡,在底部勾选复选框以使用工具 API)

SELECT ApexClassorTrigger.Name, NumLinesCovered, NumLinesUncovered
FROM ApexCodeCoverageAggregate
ORDER BY NumLinesUncovered DESC
LIMIT 10

它应该让您知道哪些 classes/triggers 最少被覆盖。其中一些将是速战速决,花在 creating/improving 他们的测试上的时间将使您在整体覆盖范围内获得最佳结果。我的意思是,花 1 小时修复覆盖 100 行中的 60 行的 class 比修复 4 行中的 2 行的 class 更好。

这是每个文件的“总计”结果。如果你愿意,你可以检查每个单元测试涵盖了多少:

SELECT ApexTestClass.Name, TestMethodName, ApexClassOrTrigger.Name, NumLinesUncovered, NumLinesCovered, Coverage
FROM ApexCodeCoverage

如果您安装了 Salesforce DX 命令行 (sfdx-cli) 和 Visual Studio 代码 (vscode) 等开发人员工具,您可以做更多的事情。 SFDX 会告诉您哪些行已被覆盖,哪些未被覆盖:https://salesforce.stackexchange.com/questions/232527/how-do-i-get-apex-code-coverage-statistics-when-using-salesforce-dx-visual-stu

并且 VSCode 让您安装 Apex PMD plugin (PMD 是类似于 Sonarqube 的免费工具)。我怀疑它会为管理生成漂亮的 PDF。它旨在在您开发时进行扫描,向您发出警告,就像 Word 和 Outlook 突出拼写错误和语法错误一样。

最后但同样重要的是 - 从设置中尝试 运行 Salesforce Optimizer。我不认为它会报告覆盖率,但它可以告诉高级警告标志(Apex 代码是旧的并且有一段时间没有被触及 - 也许你不再需要该功能,也许有一个 built-in效果更好,也许现在可以写得更简单,即使作为流程构建器也是如此;拥有超过 1 个触发器的对象违反最佳实践等)