【问题标题】:How To Get Salesforce Code Coverage Report Similar to Sonarqube如何获取类似于 Sonarqube 的 Salesforce 代码覆盖率报告
【发布时间】:2020-10-19 21:52:32
【问题描述】:

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

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

提前致谢 卡罗琳

【问题讨论】:

    标签: salesforce apex apex-code salesforce-lightning salesforce-communities


    【解决方案1】:

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

    如果你想手工制作类似的东西......

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

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

    它应该让您知道哪些类/触发器被覆盖的最少。其中一些将是快速的胜利,花在创建/改进测试上的时间将为您提供整体覆盖率的最佳结果。我的意思是花 1 小时修复覆盖 100 行中有 60 行的课程比修复 4 行中有 2 行的课程要好。

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

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

    如果您安装了 Salesforce DX 命令行 (sfdx-cli) 和 Visual Studio Code (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 插件(PMD 是类似于 Sonarqube 的免费工具)。我怀疑它会为管理生成一个漂亮的 PDF。它旨在在您开发时进行扫描,向您发出警告,就像 Word 和 Outlook 突出显示拼写错误和语法错误一样。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-29
      • 2014-09-09
      • 2018-09-02
      • 2020-12-21
      • 2016-12-07
      • 2021-08-19
      • 2014-08-21
      • 1970-01-01
      相关资源
      最近更新 更多