はじめにTIG真野です。 AWS SDK for Go を使ったコードをクラウドサービスに依存無しでローカルにてテストするとき、次のような手法が考えられます。 外部アクセス部分をインターフェースにしてテスト時はモックコードに差し替えよく見る手法だが、テスト目的のみでインターフェースを作る手間があるSDKのmiddlewareを使用詳細はAWS SDK for Go V2でinterfaceのモック”無し”でテスト - 365歩のテックを参考くださいインターフェースの作成を抑えられるメリットがあるLocalStackなどのモックサービスを利用別プロセス(いわゆる、テストサイズはMedium)になるため。実行時間は1,2より増える。実環境に近い環境でテストできるため品質を上げやすい利点があるhttptest.NewServer() でモックするフューチャーで実績が多いのはLocalStackで
![AWS SDK for Go でエンドポイントの向き先を httptest.NewServer() にしてテスト | フューチャー技術ブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/d9ae9071c0958bb31be1dfea91455f1741ee6d94/height=288;version=1;width=512/https%3A%2F%2Ffuture-architect.github.io%2Fimages%2F20240709a%2Fimage.png)