はじめに
これまでワークフロールールやプロセスビルダー、そしてSalesforceフロー(以降はフローと記載)を作成した経験がある方は非常に多いと思います。しかし(ご存知の方も多いとは思いますが)ワークフロールールやプロセスビルダーはフローに統一されます。
そこでますますフローの需要が高まるものの、Winter’23から使えるようになったが触れてこなかったため、今回はフローの「テスト」を実際に試してみました。
そこでますますフローの需要が高まるものの、Winter’23から使えるようになったが触れてこなかったため、今回はフローの「テスト」を実際に試してみました。
フローテストの作成画面・作成方法
現在はレコードトリガーフローにのみテストの機能が存在するので、レコードトリガーフローでさっそく試していきます!
今回は分かりやすくするためにフローはシンプルにしました。商談レコードが作成または更新されたとき、「金額が¥1,000,000以上であったら、「大型商談」項目にチェックを入れ、商談所有者にメールが届く」というフローです。
このフローで想定される結果をフローテストに設定し、想定通りに処理されるかを確かめたいと思います。
今回は分かりやすくするためにフローはシンプルにしました。商談レコードが作成または更新されたとき、「金額が¥1,000,000以上であったら、「大型商談」項目にチェックを入れ、商談所有者にメールが届く」というフローです。
このフローで想定される結果をフローテストに設定し、想定通りに処理されるかを確かめたいと思います。
どこから作成するの?
下記のレコードトリガーフローの作成画面に【テストを表示】というボタンが表示されているので、そこをクリックします。
今回テストを行うフロー
「テスト、1、2、3」と表示されるので【作成】ボタンをクリックします。
フローテスト設定を4ステップで行います。
・テストの詳細、トリガ、パスを設定
・最初のトリガレコードを設定
・更新済みのトリガレコードを設定(※ レコード更新の場合のみ)
・アサーションを設定
それぞれのステップについて、紹介していきます。
・テストの詳細、トリガ、パスを設定
・最初のトリガレコードを設定
・更新済みのトリガレコードを設定(※ レコード更新の場合のみ)
・アサーションを設定
それぞれのステップについて、紹介していきます。
「テストの詳細、トリガ、パスを設定」セクション
「新規テスト」作成画面に遷移します。
まずは「テストの詳細、トリガ、パスを設定」セクションです。
ここでは、レコードを作成したときのテストを作成します。また、「テストのパス」は「即時実行」を選択します。
まずは「テストの詳細、トリガ、パスを設定」セクションです。
ここでは、レコードを作成したときのテストを作成します。また、「テストのパス」は「即時実行」を選択します。
「テストの詳細、トリガ、パスを設定」セクション
「最初のトリガレコードを設定」セクション
次に、「最初のトリガレコードを設定」セクションです。
作成したときのテストなので、金額を「¥1,000,000」とし「大型商談」項目のチェックは入れずに設定します。
作成したときのテストなので、金額を「¥1,000,000」とし「大型商談」項目のチェックは入れずに設定します。
「最初のトリガレコードを設定」セクション
「アサーションを設定」セクション
最後に「アサーションを設定」セクションです。
ここでは、フロー処理が実行された後の期待結果を設定します。
期待結果として以下を設定します。
・金額が「¥1,000,000」以上
フローを実行したときに、このアサーションを「パス」できれば、テストの結果は「合格」となります。
ここまでを設定したら、【保存】ボタンをクリックします。
ここでは、フロー処理が実行された後の期待結果を設定します。
期待結果として以下を設定します。
・金額が「¥1,000,000」以上
フローを実行したときに、このアサーションを「パス」できれば、テストの結果は「合格」となります。
ここまでを設定したら、【保存】ボタンをクリックします。
「アサーションを設定」セクション
「テスト実行」セクション
では、作成したテストを実行していきます!
「テストを表示」ボタンをクリックすると、作成したテストの一覧画面に遷移します。
該当のテストの行の【▼】ボタンをクリックしてもらうと、「テストを実行して詳細を表示」という選択肢があるのでこれを選択します。
「テストを表示」ボタンをクリックすると、作成したテストの一覧画面に遷移します。
該当のテストの行の【▼】ボタンをクリックしてもらうと、「テストを実行して詳細を表示」という選択肢があるのでこれを選択します。
すると、テスト実行の結果が表示されます。
ここでアサーションの状況やデバッグ実行したときのように、処理の詳細を確認することができます。
無事にテスト結果合格することができました。(「大型商談」項目のAPI名LargeBusiness_c = trueとなっていることも確認できました)
ここでアサーションの状況やデバッグ実行したときのように、処理の詳細を確認することができます。
無事にテスト結果合格することができました。(「大型商談」項目のAPI名LargeBusiness_c = trueとなっていることも確認できました)
テスト結果
テスト作成その2
ここまでと同じように更新したときのテストも作成してみます。
「最初のトリガレコードを設定」セクションでは「更新」を選択し、「最初のトリガレコードを設定」では金額を「¥200,000」にして、条件を満たさないように設定します。そして「更新済みのトリガレコードを設定」セクションで金額を「¥1,500,000」にして条件を満たすように設定し、保存します。
(アサーションを設定は先ほどの「アサーションを設定」セクションと全く同じに設定しました)
「最初のトリガレコードを設定」セクションでは「更新」を選択し、「最初のトリガレコードを設定」では金額を「¥200,000」にして、条件を満たさないように設定します。そして「更新済みのトリガレコードを設定」セクションで金額を「¥1,500,000」にして条件を満たすように設定し、保存します。
(アサーションを設定は先ほどの「アサーションを設定」セクションと全く同じに設定しました)
テスト更新Ver
「テスト実行」セクションその2
ここでもう一度、「テストを表示」でテスト一覧を確認してみます。
テスト①は結果が「パス」になっていることが確認できます。
(テスト①は「レコードが作成されたケースで実行したテスト」です。)
テスト①は結果が「パス」になっていることが確認できます。
(テスト①は「レコードが作成されたケースで実行したテスト」です。)
また、テストを複数にまとめて実行することもできます。実行したいテストにチェックを入れ、「実行」ボタンをクリックするだけです。ただし、詳細を確認することはできません。
テストを複数同時に実行
おわりに
いかかでしたでしょうか。
今までのデバッグ実行では、毎回レコードの項目に入力をしていたがそれがなくなった点や複数のテストパターンを一度に実行できる点は非常に便利だと感じました。また、アサーションで条件を確実に設定できるため条件の設定漏れがなくなりそうだと思いました。違う観点から考えて見ると、複数人でフローを作成している場合、人によって誤差はなくなり、テスト結果の共有もそれぞれのPCで確認することができるので良い点だと思いました。
今のところレコードトリガーフローのみで使用可能ということですが、これからのアップデートで他のフローにもサポートされることに期待したいです。
皆さんもぜひ試してみてください!
今までのデバッグ実行では、毎回レコードの項目に入力をしていたがそれがなくなった点や複数のテストパターンを一度に実行できる点は非常に便利だと感じました。また、アサーションで条件を確実に設定できるため条件の設定漏れがなくなりそうだと思いました。違う観点から考えて見ると、複数人でフローを作成している場合、人によって誤差はなくなり、テスト結果の共有もそれぞれのPCで確認することができるので良い点だと思いました。
今のところレコードトリガーフローのみで使用可能ということですが、これからのアップデートで他のフローにもサポートされることに期待したいです。
皆さんもぜひ試してみてください!