LoginSignup
0
0

IntelliJでAWS Lambdaの単体テストをローカル実行する

Last updated at Posted at 2023-12-09

(自分用メモのため編集中です)

概要

AWS Lambda関数自体のテストはJUnit等で単体テストを書けば行えるが、LambdaからS3の特定のバケットに書き込みを行うなどのテストはAWSにデプロイしないとできないという悩みがあった。10MBくらいのコードを毎回アップロードしてテストしていたが、AWS CLIを使ったとしてもあまりにもめんどくさいし地球に優しくないので、ローカルでAWS環境をレプリケートしてテストできたらとても嬉しい。
この項目では、AWS環境をローカルにレプリケートして、各サービスとの連携をテストできるようにする方法を説明する。
Lambdaと接続をテストできるAWSサービスは以下の通り
・S3
・・・

仕組み

各AWSサービスのモックをDockerコンテナを使用してローカルマシン内に構築することで、テストを行える。ただ、ここで構築した内容を本番環境に持っていくのが難しそうという悩みもある。

必要なもの

SAM CLI

SAM(Serverless Apprication Model)
上記URLからSAM CLIをインストールする

Localstack

手順

IntelliJから新規プロジェクトを起動

からAWS Serverless Appricationの
IntelliJの新規プロジェクト
image.png

→AWS Serverless Apprication
→SAM Templateが選択できていることを確認

フロー的な詳細

※GradleはJDK17じゃないと動かないので、モジュールのJDKは17にする必要がある。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0