カスタムテストスイートのデバッグと実行 - AWS IoT Greengrass

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

カスタムテストスイートのデバッグと実行

必要な設定 を終了すると、IDT はテストスイートを実行することができます。完全なテストスイートの実行時間は、ハードウェアとテストスイートの設定によって異なります。参照として、Raspberry Pi 3B に完全な AWS IoT Greengrass 適合性確認テストスイートを完了するために約 30 分かかります。

テストスイートの作成中に、IDT を使用してテストスイートをデバッグモードで実行すると、テストスイートを実行する前やテストの実行者に提供する前に、コードをチェックすることができます。

IDT をデバッグモードで実行する

テストスイートは、IDT に依存してデバイスとやり取りし、コンテキストを提供し、結果を受け取るため、IDT と通信しないと、IDE でテストスイートを簡単にデバッグすることはできません。そのために、IDT CLI は IDT をデバッグモードで実行できるようにする debug-test-suite コマンドを提供します。debug-test-suite で使用可能なオプションを表示するには、次のコマンドを実行します。

devicetester_[linux | mac | win_x86-64] debug-test-suite -h

IDT をデバッグモードで実行するとき、IDT は実際にテストスイートを起動したり、テストオーケストレーターを実行したりしません。代わりに、IDE と対話して IDE で実行されているテストスイートによるリクエストに応答して、コンソールにログを出力します。IDT はタイムアウトせず、手動で中断されるまで待機してから終了します。デバッグモードでは、IDT はテストオーケストレーターも実行せず、レポートファイルも生成しません。テストスイートをデバッグするには、通常 IDT が設定 JSON ファイルから取得する情報を、IDE を使用して提供する必要があります。以下の情報を提供してください。

  • 各テストの環境変数と引数。IDT はこの情報を test.json または suite.json から読み込みません。

  • リソースデバイスを選択するための引数。IDT はこの情報を test.json から読み込みません。

テストスイートをデバッグするには、次の手順を実行します。

  1. テストスイートの実行に必要な構成設定ファイルを作成します。例えば、テストスイートが device.jsonresource.json、および user data.json を必要とする場合は、必要に応じてこれらすべてを設定してください。

  2. 次のコマンドを実行して IDT をデバッグモードにし、テストの実行に必要なデバイスを選択します。

    devicetester_[linux | mac | win_x86-64] debug-test-suite [options]

    このコマンドを実行すると、IDT はテストスイートからのリクエストを待機し、それらのリクエストに応答します。IDT は、IDT クライアント SDK がケースを処理するために必要な環境変数も生成します。

  3. IDE で、run または debug 設定を使用して次の手順を実行します。

    1. IDT で生成された環境変数の値を設定します。

    2. test.json ファイルと suite.json ファイルに指定したすべての環境変数または引数の値を設定します。

    3. 必要に応じてブレークポイントを設定します。

  4. IDE でテストスイートを実行します。

    テストスイートは、必要に応じて何度でもデバッグして再実行できます。IDT はデバッグモードではタイムアウトしません。

  5. デバッグが完了したら、IDT を中断してデバッグモードを終了します。

テストを実行する IDT CLI コマンド

次のセクションでは、IDT CLI コマンドについて説明します。

IDT v4.0.0
help

指定されたコマンドに関する情報を一覧表示します。

list-groups

特定のテストスイート内のグループを一覧表示します。

list-suites

使用可能なテストスイートを一覧表示します。

list-supported-products

IDT バージョン (この場合は AWS IoT Greengrass バージョン) のサポート対象製品と、現在の IDT バージョンで利用可能な AWS IoT Greengrass 適合性確認テストスイートのバージョンを一覧表示します。

list-test-cases

指定したテストグループのテストケースを一覧表示します。次のオプションがサポートされています。

  • group-id。検索するテストグループ。このオプションは必須で、1 つのグループを指定する必要があります。

run-suite

デバイスプールに対してテストスイートを実行します。以下に、一般的に使用されるオプションの一部を示します。

  • suite-id。実行するテストスイートのバージョン。指定しない場合、IDT は tests フォルダにある最新バージョンを使用します。

  • group-id。実行するテストグループ (カンマ区切りリストとして)。指定しない場合、IDT はテストスイートのすべてのテストグループを実行します。

  • test-id。実行するテストケース (カンマ区切りリストとして)。指定した場合は、group-id は 1 つのグループを指定する必要があります。

  • pool-id。テストするデバイスプール。device.json ファイルに複数のデバイスプールが定義されている場合、テストの実行者は 1 つのプールを指定する必要があります。

  • timeout-multiplier。テスト用の test.json ファイルに指定されているテスト実行タイムアウトを、ユーザー定義乗数を使用して変更するように IDT を設定します。

  • stop-on-first-failure。最初に障害が発生した時点で実行を停止するように IDT を設定します。指定されたテストグループをデバッグするには、このオプションを group-id とともに使用する必要があります。

  • userdata。テストスイートの実行に必要なユーザーデータ情報を含むファイルを設定します。テストスイートの suite.json ファイルで、userdataRequired が true に設定されている場合にのみ必要です。

run-suite オプションの詳細については、次の help オプションを使用してください。

devicetester_[linux | mac | win_x86-64] run-suite -h
debug-test-suite

デバッグモードでテストスイートを実行します。詳細については、「IDT をデバッグモードで実行する」を参照してください。