アサーションイベントは、Conditional eventに似たデバッグツールで、チェーンのロジックをテストし、意図したとおりに動作することを検証します。最も基本的なレベルでは、チェーンブランチは、アサーションがパスすると中断されずに継続し、アサーションが失敗すると停止します。この記事の下に、一般的な使用例の検索があります 。
ステップ1:イベントをチェーンに追加する
- チェーンビルダー で、チェーン タブから、編集 をクリックします。
- Chain Eventsをクリックすると、チェーン内でイベントが発生する場所にAssertを移動します。
- チェーンの前のノードからイベントへのリンクをドラッグする。
メモ: チェーン内のノードの位置を変更するには、他のノードとのリンクを解除してから、ノードのあるべき位置に移動する。複数のノードを一度に移動するには、SHIFT を押しながら選択します。
- イベントのノードを選択し、編集 をクリックします。
- [基本情報]で、イベントの識別に役立つ一意の名前と説明を入力します。
メモ: このアサーションが失敗したときにチェーン全体を停止させたい場合は、Stop Chain on Fail を有効にする。チェックを外しておくと、このチェーンブランチが失敗しても、他のチェーンブランチは完了まで実行される。
ステップ2:条件ロジックの設定
条件 で、条件付きロジックをルールまたはルールグループとして構築し、様々なデータ タイプの出力と変数をテストする:
- 文字列、1文字または複数文字用
- 小数の桁数でない任意の整数。
- 日付、日付文字列または変数用
- 浮動小数、任意の数値の場合
- JSON, for Javascript Object Notation
注: JSONの場合、変数トランスフォーメーションを使用して値をパースします。
-
ルールまたはルールのグループのどちらを追加するかを選択します。
- 複数のルールやグループを含む場合は、AND またはOR (ブーリアン型)で結合します:
- すべてのルールまたはグループが真でなければ条件が通らない場合は、AND を選択します。
- ルールまたはグループのいずれかが真でなければ条件が通らない場合は、OR を選択します。
- 各ルールについて、データのタイプとテストする出力または変数を選択し、条件をパスするように設定する:
- 値が空白かどうかをテストするには、Is blankまたはIs not blankを選択します。
- 値が特定の文字または別の出力値または変数値を含むかどうかをテストするには、Containsを選択し、一致する値を入力または選択します。
- 値が正規表現にマッチするかどうかをテストするには、Matches RegExpを選択し、マッチする表現を入力します。
- 値が特定の文字、または別の出力値や変数値で始まるか終わるかをテストするには、Start withまたはEnds withを選択し、一致する値を入力または選択します。
- 数値が金額に等しいかどうかをテストするには、=または!=を選択し、金額を入力または選択します。
- 数値が金額より大きいか小さいかをテストするには、< または>を選択し、金額を入力または選択します。
- 数値が金額より大きいか小さいか、または等しいかをテストするには、 <= または>= を選択し、金額を入力または選択します。
- 条件ロジックを設定したら、保存をクリックします。
注: 条件ロジックからルールを削除するには、削除 をクリックします。
条件と一般的な使用例
アサーションイベントは、チェーンの複数のパスまたは「ブランチ」に追加することができる。各アサーションは独立して動作します。つまり、アサーションが失敗すると、それが配置された特定のブランチだけが停止します。ただし、アサーションが 1 つでも失敗すると、チェーン全体が "Failed" とマークされる。
注意事項:
- Stop chain on fail オプションを有効にして、アサーションが失敗したときにチェーン全体を直ちに停止する。
-
Set Chain Result イベント を追加することで、チェーンの失敗をオーバーライドできる。Set Chain Result ノードが "Succeed" に設定されている場合、チェーンは失敗したアサーションに関係なく常にパスします。
アサーション・イベント vs. 条件付きイベント
Conditionalイベント は、Set Chain Resultイベントと結合することで、同様の結果を得ることができます — 複数のノードと分岐パスが、アサーション・イベントに対して必要になります。アサーションイベントは、より複雑なプロセスを簡素化し、置換することを目的としています。
ここでは、Conditionalイベントで "Pass "と "Fail "の分岐を再現するために必要な典型的なロジックの例を示します:
同じロジックでアサーションイベントを1つだけ使用したものを以下に示す:
メモ: 同じチェーン上で使用された場合、Set Chain Resultイベントは常にアサートイベントの結果を上書きする。例えば、Set Chain Resultノードが "Succeed "に設定されているチェーンは、アサーションイベントに関係なく常にパスする。