Amazon Q を使用したユニットテストの生成 - Amazon Q Developer

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

Amazon Q を使用したユニットテストの生成

注記

チャットで直接ユニットテストを生成するように に依頼できます。/test を使用すると、リクエストはチャットにリダイレクトされます。「」と質問してみてくださいgenerate unit tests for my application

Amazon Q Developer エージェントは、ソフトウェア開発ライフサイクル全体でユニットテストの作成を自動化する AI を活用したユニットテスト生成機能を提供します。この機能は、開発者がコード品質を確保しながら機能開発を加速することに集中するのに役立ちます。

ユニットテスト用の Amazon Q エージェントは、次のステップを自動化します。

  • テストケースの識別: エージェントは、ワークスペース内のプロジェクト構造、既存のコード、およびターゲットファイルを使用して、適切なテストケースを識別します。

  • モックとスタブの作成: Amazon Q は、分離されたテストに必要なモックとスタブを生成します。

  • テストコードの生成: エージェントは、特定されたテストケースに基づいてユニットテストを生成します。

ユニットテスト用の Amazon Q エージェントは、VS Code および JetBrains IDEs で Java および Python プロジェクトをサポートしています。各プログラミング言語でサポートされているテストフレームワークについては、「」を参照してください/test を使用したユニットテスト生成の言語とフレームワークのサポート

前提条件

ユニットテスト生成機能を使用するには、VS Code または JetBrains IDE 用の Amazon Q IDEs 拡張機能をダウンロードしてインストールする必要があります。IDE に Amazon Q Developer 拡張機能またはプラグインをインストールする 「」の手順に従って拡張機能を設定します。

注記

IDE でテストフレームワークが設定されている機能プロジェクトはオプションです。

/test を使用してユニットテストを生成する

注記

チャットで直接ユニットテストを生成するように に依頼できます。/test を使用すると、リクエストはチャットにリダイレクトされます。「」と質問してみてくださいgenerate unit tests for my application

コードを記述した後、デベロッパーは主に 2 つの方法でユニットテスト生成を開始できます。

  • Amazon Q チャット/testに と入力し、必要に応じて考慮するクラス、関数、またはメソッドの手順を指定します。

  • コードのセクションを強調表示し、右クリックの Amazon Q メニューを開き、テストの生成オプションを選択します。

開発者が追加のプロンプトなしで /test コマンドを使用すると、エージェントは次の操作を行います。

  • IDE で現在アクティブなファイルを調べます。

  • テストディレクトリ内のこのアクティブなファイルに対応するユニットテストファイルが存在するかどうかを確認します。

  • このようなテストファイルが見つからない場合は、新しいテストファイルが自動的に作成されます。新しいテストファイルの名前は元のファイルにちなんで付けられ、使用中のテストフレームワークに基づいてtestプレフィックスまたはサフィックスが追加され、テストディレクトリに配置されます。

  • テストファイルが既に存在する場合は、新しいユニットテストを既存のファイルに追加します。

ユニットテスト生成プロセス

このプロセスには、以下のステップが含まれます。

  1. 入力推論: Amazon Q は、ワークスペースコンテキストと設定されたテストフレームワークに基づいて、ターゲットコード、出力ファイル、適切なテストとモックを推論します。エージェントは、生成されたテストを既存または新しいテストファイルに配置する場所を特定し、テストするターゲットコードを決定します。開発者は、ターゲットコードとターゲットファイル名を指定するオプションの手順を提供できます。

  2. コンテキストエンリッチメント: Amazon Q ユニットテストエージェントはオープンプロジェクトをコンテキストとして使用し、IDE プロジェクトのコードと依存関係に沿ったテストを生成できます。

  3. テスト生成: Amazon Q エージェントは、ユニットテスト生成に適切な入力を推測するか、ユーザーがその情報を手動で提供できるようにします。次に、ユニットテストを生成します。このプロセス全体を通して、エージェントはチャットで進行状況の更新を提供します。

    注記
    • 大規模なプロジェクトを使用する場合、最初のプロジェクト分析には時間がかかることがあります。このプロセス中、進行状況インジケータは長期間 0% のままになることがあります。これは、Amazon Q がインデックスを作成し、プロジェクトファイルをアップロードする際の通常の動作です。

    • ユニットテストの生成は、一度に 1 つのファイルで実行されます。複数のファイルの場合は、各ファイルで個別に /test コマンドを使用します。

  4. ユーザーレビュー: Amazon Q は、最終的に生成されたテストの差分を提供します。開発者は、生成されたテストを確認し、以下を選択できます。

    • 推奨されるテストを受け入れます。

    • 変更を拒否します。

使用法と考慮事項

ユニットテスト用の Amazon Q エージェントには、サブスクリプション階層に基づく一般的な使用制限が適用されます。これらの制限は、すべての Amazon Q 機能で共有されます。

注記

/testコマンドは、無料利用枠内の使用制限にカウントされます。

Amazon Q のサービス階層、クォータ、および料金の詳細については、「Amazon Q のサービス階層について」を参照してください。

AWS マネジメントコンソールの Amazon Q ダッシュボードを使用して、生成されたユニットテストの数、承諾されたユニットテストの数、承諾率などのユニットテスト生成メトリクスを追跡できます。クォータ制限機能の使用状況をモニタリングし、機能別の詳細なコストレポートにアクセスすることもできます。Amazon Q ダッシュボードの詳細については、「」を参照してくださいダッシュボードでの Amazon Q Developer ユーザーアクティビティの表示