Testen geplanter Prozessaktionen und von Flow-Fortsetzungsereignissen mit Apex

Die Apex-Methode stopTest führt die ausstehenden geplanten Aktionen von Prozessen aus und setzt Flows fort, die auf ein zeitbasiertes Fortsetzungsereignis warten, um Sie dabei zu unterstützen, eine bessere Testabdeckung für Automatisierungen im Hintergrund bereitzustellen. Bisher konnten Apex-Tests Prozesse und automatisch gestartete Flows starten, jedoch weder geplante Aktionen überprüfen noch, ob ein Flow fortgesetzt wird.

Wo: Diese Änderung gilt für Lightning Experience und Salesforce Classic in der Enterprise, Performance, Unlimited und Developer Edition.

Wie: Die Methode stopTest markiert den Punkt in Ihrem Testcode, an dem Ihr Test endet. Wenn stopTest ausgeführt wird, werden alle asynchronen Prozesse synchron ausgeführt.

Für Apex-Tests, die (im Prozessgenerator erstellte) Datensatzänderungsprozesse auslösen, führt die Methode stopTest die geplanten Aktionen für ein beliebiges Datum aus, selbst wenn die Kriteriengruppe mehrere Zeitpläne umfasst. Veröffentlichen Sie für (im Prozessgenerator erstellte) Ereignisprozesse auslösende Apex-Tests das Ereignis und verwenden Sie die Methode Test.getEventBus().deliver() zum Starten des Prozesses. Verwenden Sie die Methode stopTest zum Ausführen der zugeordneten geplanten Aktionen.

Für Apex-Tests, die automatisch gestartete Flows mit Pause-Element auslösen, setzt die Methode stopTest den Flow fort und führt die verbleibenden Elemente aus. Für jedes Pause-Element, das auf ein zeitbasiertes Fortsetzungsereignis wartet, wird der Flow fortgesetzt und führt alle Elemente entlang des Pfads aus.

Zugehörige Aktualisierungen für Entwickler

Apex
Geänderte Methode in System.Test: stopTest()