

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

# test-e2e
<a name="greengrass-development-kit-cli-test"></a>

AWS IoT Greengrass Development Kit コマンドラインインターフェイス (GDK CLI) の `test-e2e` コマンドを使用して、GDK プロジェクトのエンドツーエンドのテストモジュールを初期化、構築、実行します。

**Topics**
+ [初期化](#greengrass-development-kit-cli-test-init)
+ [ビルド](#greengrass-development-kit-cli-test-build)
+ [run](#greengrass-development-kit-cli-test-run)

## 初期化
<a name="greengrass-development-kit-cli-test-init"></a>

Greengrass Testing Framework (GTF) を使用するテストモジュールを使用して、既存の GDK CLI プロジェクトを初期化します。

デフォルトでは、GDK CLI は [GitHub の AWS IoT Greengrass コンポーネントテンプレートリポジトリ](https://github.com/aws-greengrass/aws-greengrass-component-templates)から Maven モジュールテンプレートを取得します。この Maven モジュールには、`aws-greengrass-testing-standalone` JAR ファイルに対する依存関係が含まれています。

このコマンドは、GDK プロジェクト内に `gg-e2e-tests` という新しいディレクトリを作成します。テストモジュールディレクトリが既に存在しており、かつ、空でない場合、コマンドは何もせずに終了します。この `gg-e2e-tests` フォルダには、Maven プロジェクトで構造化された Cucumber 機能とステップ定義が含まれています。

デフォルトでは、このコマンドは最新バージョンの GTF を使用しようとします。

**概要**  

```
$ gdk test-e2e init
    [--gtf-version]
```

**引数**:  
+ `-ov`、`--gtf-version` – (オプション) GDK プロジェクトのエンドツーエンドのテストモジュールで使用する GTF のバージョン。この値は、[リリース](https://github.com/aws-greengrass/aws-greengrass-testing/releases)の GTF バージョンの 1 つである必要があります。この引数は、GDK CLI 設定内の `gtf_version` よりも優先されます。

**出力**:  
次の例は、このコマンドを実行し、テストモジュールを使用して GDK プロジェクトを初期化したときに生成される出力を示しています。  

```
$ gdk test-e2e init
[2023-12-06 12:20:28] INFO - Using the GTF version provided in the GDK test config 1.2.0
[2023-12-06 12:20:28] INFO - Downloading the E2E testing template from GitHub into gg-e2e-tests directory...
```

## ビルド
<a name="greengrass-development-kit-cli-test-build"></a>

**注記**  
エンドツーエンドのテストモジュールを構築する前に、**gdk component build** を実行してコンポーネントを構築する必要があります。

エンドツーエンドのテストモジュールを構築します。GDK CLI は、`test-e2e` プロパティの下の [GDK CLI 設定ファイル](gdk-cli-configuration-file.md) `gdk-config.json` で指定したビルドシステムを使用してテストモジュールを構築します。このコマンドは、`gdk-config.json` ファイルが存在するフォルダと同じフォルダで実行する必要があります。

デフォルトでは、GDK CLI は Maven ビルドシステムを使用してテストモジュールを構築します。`gdk test-e2e build` コマンドを実行するには [Maven](https://maven.apache.org/) が必要です。

テスト機能ファイルに補間する `GDK_COMPONENT_NAME` や `GDK_COMPONENT_RECIPE_FILE` などの変数がある場合は、テストモジュールを構築する前に **gdk-component-build** を実行してコンポーネントを構築する必要があります。

このコマンドを実行すると、GDK CLI は GDK プロジェクト設定からすべての変数を補間し、`gg-e2e-tests` モジュールを構築して最終的なテスト JAR ファイルを生成します。

**概要**  

```
$ gdk test-e2e build
```

**引数**:  
なし

**出力**:  
次の例は、このコマンドを実行したときに生成される出力を示しています。  

```
$ gdk test-e2e build
[2023-07-20 15:36:48] INFO - Updating feature file: file:///path/to//HelloWorld/greengrass-build/gg-e2e-tests/src/main/resources/greengrass/features/component.feature
[2023-07-20 15:36:48] INFO - Creating the E2E testing recipe file:///path/to/HelloWorld/greengrass-build/recipes/e2e_test_recipe.yaml
[2023-07-20 15:36:48] INFO - Building the E2E testing module
[2023-07-20 15:36:48] INFO - Running the build command 'mvn package'
.........
```

## run
<a name="greengrass-development-kit-cli-test-run"></a>

GDK 設定ファイル内のテストオプションを使用してテストモジュールを実行します。

**注記**  
エンドツーエンドのテストを実行する前に、**gdk test-e2e build** を実行してテストモジュールを構築する必要があります。

**概要**  

```
$ gdk test-e2e run
    [--gtf-options]
```

**引数**:  
+ `-oo`、`--gtf-options` – (オプション) エンドツーエンドのテストを実行するためのオプションのリストを指定します。この引数は、有効な JSON 文字列か、GTF オプションが記載されている JSON ファイルへのファイルパスにする必要があります。設定ファイルで指定されたオプションは、コマンド引数で指定されたオプションとマージされます。両方の場所にオプションが存在する場合、引数内のオプションが設定ファイルのオプションよりも優先されます。

  このコマンドで `tags` オプションが指定されていない場合、GDK はタグに `Sample` を使用します。`ggc-archive` が指定されない場合、GDK は最新バージョンの Greengrass nucleus アーカイブをダウンロードします。

**Output**  
次の例は、このコマンドを実行したときに生成される出力を示しています。  

```
$ gdk test-e2e run
[2023-07-20 16:35:53] INFO - Downloading latest nucleus archive from url https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-latest.zip
[2023-07-20 16:35:57] INFO - Running test jar with command java -jar /path/to/greengrass-build/gg-e2e-tests/target/uat-features-1.0.0.jar —ggc-archive=/path/to/aws-greengrass-gdk-cli/HelloWorld/greengrass-build/greengrass-nucleus-latest.zip —tags=Sample

16:35:59.693 [] [] [] [INFO] com.aws.greengrass.testing.modules.GreengrassContextModule - Extracting /path/to/workplace/aws-greengrass-gdk-cli/HelloWorld/greengrass-build/greengrass-nucleus-latest.zip into /var/folders/7g/ltzcb_3s77nbtmkzfb6brwv40000gr/T/gg-testing-7718418114158172636/greengrass
16:36:00.534 [gtf-1.1.0-SNAPSHOT] [] [] [INFO] com.aws.greengrass.testing.features.LoggerSteps - GTF Version is gtf-1.1.0-SNAPSHOT
.......
```