首页 > 解决方案 > 如何通过 Apex 代码为 Apex 测试类创建重复/匹配规则?

问题描述

我最近编写了一个 API 来为连接的应用程序实现帐户/联系人重复/匹配规则。一切正常。

它与 Salesforce 对这些规则所做的事情相同。它几乎遵循此示例代码:https ://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_Datacloud_DuplicateResult.htm

我现在正在尝试为此编写一个测试类,但我遇到了障碍。

我需要一种方法来做两件事之一:

  1. 通过测试中的 Apex 代码创建重复和匹配规则。我会创建它们,运行测试,然后删除它们。

  2. 通过测试中的 Apex 代码打开和关闭重复和匹配规则。相同的一般想法,但我可以在我们的测试组织中预先创建它们。

据我所知,没有办法做到这一点。我在这里错过了什么吗?

如果这是不可能的,那么我如何在课堂上获得测试覆盖率。如果对 Database.Insert 的调用实际上因 DuplicateErrors 而失败,它只会获得完整的代码覆盖率。

编辑:我应该补充一点,始终打开规则并使用 DMLHeader 绕过它们进行测试不是一种选择。

标签: unit-testingduplicatessalesforceapex

解决方案


我想说您不必在 Apex 中创建重复或匹配规则(甚至不确定是否可能)。事实上,您应该依靠在 Salesforce 中配置的重复规则。因此,您应该尝试生成重复的 Salesforce,因为重复规则也应该在运行测试时触发。


推荐阅读