使用隔离的测试数据测试流
使用 Apex 类中专用的可重用测试数据,测试记录触发和自动启动的流,其中包含测试设置方法。在测试场景运行后,隔离的测试数据会像 Apex 单元测试一样回滚,因此贵组织的实时数据保持不变。
所需的 Edition
| 查看支持的版本。 |
| 所需用户权限 | |
|---|---|
| 要使用 Flow Builder 中提供的所有流类型、元素和功能(包括 Einstein 和 Agentforce for Flow)打开、编辑、创建、激活或取消激活流: | 管理流 |
当您使用组织数据进行测试时,任何人都可以更改该数据,您的测试可能会开始失败。Sandbox 和生产之间的记录 ID 不同,因此当您部署到另一个环境时,在一个环境中通过的测试可能会失败。在测试场景运行时创建隔离的测试数据,如同 Apex 测试设置会在运行时创建数据。您的测试数据保持一致,以便您可以在各种环境中进行部署。
要在测试模式中打开流,请参阅设置并运行测试场景 (Beta)。
-
创建带有
@isTest注解的 Apex 类,以及插入您想要在测试场景中可用的记录的@testSetup方法。例如,此 Apex 类创建测试客户。见使用 Apex 测试设置方法。
@isTest global class CommonTestSetup { @testSetup global static void setup() { List<Account> accts = new List<Account>(); for (Integer i = 1; i <= 2; i++) { accts.add(new Account(Name = 'Test Account ' + i)); } insert accts; } }在使用数据孤岛中的隔离测试数据时,输入记录必须引用您在隔离测试数据中创建的记录。如果该数据中不存在记录,您会收到错误。与使用组织数据的测试场景不同,您无法在与 Flow Builder 隔离的测试数据中自定义输入记录的字段值。记录按关键字段在隔离的测试数据中选择,并按原样使用。在 Apex
@testSetup方法中,填充所有关键字段。您稍后在这些步骤中选择关键字段。 - 打开记录触发的流或自动启动的流。
- 单击测试进入测试模式 (Beta)。
-
打开场景测试自动化,然后对于选择数据源,选择从数据仓运行。
将显示必填 Apex 测试设置字段。选择您创建的 Apex
@testSetup类。测试场景使用 Apex 类作为数据源,并带有回滚,因此您的组织数据保持不变。
-
为测试场景中使用的每个对象选择关键字段。
隔离对象外键字段标识隔离测试数据中的唯一记录。因为测试记录 ID 在每次运行后都会发生变化,所以这些关键字段会在运行时将输入记录与隔离的测试数据匹配。例如,将
Phone字段用作识别客户记录的关键字段。
- 设置触发记录或输入值,以匹配隔离测试数据中的记录。
-
对于预期结果(断言),配置任何断言,然后单击保存场景并运行场景。
测试场景针对数据竖井中的隔离测试数据运行,而不是您的实时组织数据。
本文章是否解决您的问题?
请与我们共享您的想法,以便我们进行改进!
