テスト・アクション・チェーン
アクション・チェーン・エディタの「テスト」タブにある「テスト」エディタを使用して、アクション・チェーンの設計、作成および保守、または独自のメソッド論の実装に対するテスト駆動型開発アプローチを実装できます。 テスト・エディタを使用すると、アクション・チェーンのテスト・ケースを簡単に定義し、いつでも実行して、コード変更で機能が破損していないことを確認できます。
テスト・エディタでは、次の方法でコード・パスごとにテストを手動でコーディングする必要がなくなります:
- テストの値を入力するだけで済むように、アクション・チェーンの入力パラメータ、コンテキスト変数およびコンテキスト定数を表示します。
- テストするコード・パスの結果を提供するために、結果を提供する必要があるアクションを表示します。 コールR処理では、レスポンスをすばやく取得してコピーする機能を使用できます。
- 指定された値に基づいて、テストに対する期待値を提示します。
アクション・チェーンをテストする場合、最初に実行する必要があるのは、可能なすべてのコード・パスを特定することです。これは、それぞれが完全なテスト対象を達成するためにテストする必要があるシナリオであるためです。 ただし、より複雑なコード・パスには、テストが必要なシナリオが複数ある場合があります。
コード・パスを識別した後、パスに関するシナリオの数に応じて、それぞれに少なくとも1つのテストを作成します。 テストごとに、次のことを行う必要があります:
- テスト対象のコード・パスでコードを実行するために必要な、変数の初期値や入力パラメータなどの初期値を指定します。 たとえば、このコードを実行するには、
$page.variables.userEnteredString変数の値が必要です。 この変数は、変数にバインドされている入力テキスト・コンポーネントにユーザーが入力した文字数をカウントするために使用されます。 コードの実行には変数の値が必要であるため、テストするテスト・ケースに適した値を指定する必要があります。
- テスト中に値を自動的に返さないアクションごとに、制限のために、テストするコード・パスにアクションの戻り値をモックとして指定する必要があります。 結果を提供する必要がある処理は、Mocksセクションに表示されます。
この例では、新しい従業員レコードがCall RESTアクションを使用して追加され、テスト中に値を自動的に返すことはできません。 コールRESTアクションの戻り値を指定する必要があります。これは、新規レコードを追加した後のアクションの結果です:

図jsac-tests-call-rest-mock.pngの説明
- テスト・ケースの値を指定すると、その値に基づいて予測が自動的に生成されます。 テスト対象の変数の最終値など、予想される結果を選択します。
たとえば、テストの初期値とモックを指定した後、Visual Builderで変数の最終値が5であることが検出された場合は、この予想が提示されます。 その後、テストに期待値を追加してテストできます。 テストが成功するには、すべての期待が満たされなければなりません。
目標は、それぞれのコード・パスをテストして、アクション・チェーンを完全にテストすることです。 テストで各コード・パスの予想される結果がカバーされる場合、Coverageの値は100%になります。
次の例では、完全なテスト・カバレッジを実現するために必要な3つのコード・パスに対して3つのテストが作成されています: 加算テスト、無効な演算子テストおよび減算テスト。 したがって、カバレッジの値は、エディタの左上隅に表示されるとおり、100%です。
プロパティ・ペインに、if operator_ip === '+'コード・ブロックをテストする追加テストが表示されます。 パラメータ・セクションで、コードの追加ブロックを実行するために入力された3つの入力パラメータ値が表示され、期待値セクションに予期される結果が表示されます:
図jsac-testing-action-chain-example.jpgの説明
すべてのテストのソース・コードは、メンテナンスを容易にするために、別のJSONファイルactionchainname-tests.jsonに格納されます。 このファイルの内容を表示するには、左側のペインでJSONをクリックします。 このファイルは、「ナビゲータのソース・ビュー」タブのアーティファクトのchainsフォルダにもあります。
「
図jsac-tests-json.pngの説明」
