Loading
Автоматизация бизнес-процессов посредством Salesforce Flow
Тестирование потока посредством изолированных тестовых данных

Тестирование потока посредством изолированных тестовых данных

Тестирование потоков, запущенных записью и автоматически запущенных посредством выделенных многоразовых тестовых данных из класса Apex, содержащего метод настройки тестирования. После выполнения сценария тестирования изолированные тестовые данные откатываются назад, как тест единицы Apex, поэтому оперативные данные вашей организации остаются без изменений.

Требуемые версии

Просмотр поддерживаемых версий.
Требуемые полномочия пользователя
Для открытия, редактирования, создания, активации или деактивации потока посредством всех типов потоков, элементов и функций, доступных в Flow Builder, включая Einstein и Agentforce for Flow: Управление потоком

Если вы используете данные организации для тестирования, любой пользователь может изменить эти данные, и ваши тесты могут начаться неудачно. Коды записей отличаются в безопасной и производственной среде, поэтому тесты, проходящие в одной среде, могут не выполниться при развертывании в другой. Создавайте изолированные тестовые данные при выполнении сценария тестирования, подобно тому, как настройка теста Apex создает данные при запуске. Ваши тестовые данные остаются последовательными, чтобы их можно было развернуть в средах.

Чтобы открыть поток в тестовом режиме, см. Настройка и выполнение тестового сценария (бета-версия).

  1. Создайте класс Apex с примечанием к @isTest и методом @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. Запись выбирается в изолированных тестовых данных по ключевым полям и используется без изменений. В методе @testSetup Apex заполните все ключевые поля. Вы выбираете ключевые поля позже на этих этапах.

  2. Откройте поток, запущенный записью или автоматически запущенный поток.
  3. Нажмите «Тестировать», чтобы войти в тестовый режим (бета-версия).
  4. Включите автоматизацию тестирования сценариев, потом в поле «Выбрать источник данных» выберите «Выполнить из хранилища данных».
    Отображается обязательное поле настройки теста Apex. Выберите созданный класс @testSetup Apex. Тестовый сценарий использует класс Apex в качестве источника данных, с откатом, чтобы данные организации не менялись.
    Параметр «Выполнить из источника данных»
  5. Выберите ключевые поля для каждого объекта, используемого в сценарии тестирования.
    Поля внешнего ключа изолированного объекта определяют уникальные записи в изолированных тестовых данных. Поскольку коды тестовых записей меняются после каждого выполнения, эти ключевые поля сопоставляют записи ввода с изолированными тестовыми данными во время выполнения. Например, используйте поле Phone в качестве ключевого поля для идентификации записей организаций.
    Вкладка «Настройка уникальных записей» для выбора ключевых полей
  6. Задайте инициирующую запись или значения ввода для соответствия записи в изолированных тестовых данных.
  7. В поле «Ожидаемые результаты (утверждения)» настройте любые утверждения, потом нажмите «Сохранить сценарий» и «Выполнить сценарий».
    Тестовый сценарий выполняется по изолированным тестовым данным в хранилище данных, а не по текущим данным организации.
 
Загрузка
Salesforce Help | Article