はじめまして! 昨年12月に入社しました、サーバサイドエンジニアの おの( @shout_poor ) です! 最近、弊社の Famm アプリケーションで使用する AWS Lambda Function の、 JavaScript(Node.js) から Go へのリライトを担当しました。 Go で Lambda を書くのは初めてだったのでいろいろと気づきがあったのですが、この記事では、Go におけるユニットテストについて書きたいと思います。 DI とモックアップ Go に限らず、ユニットテストで悩ましいのが、テスト対象の外から影響をどう考え、またどう検証するかです。例えば DB やファイルの入出力、クラウドサービスの呼び出しなどです。 DB であれば DBMS をテスト環境上に立ち上げてテストデータを登録しておいたり、AWS なら localstack のようなスタブサービスを起動させた