今のプロジェクトでAWS(S3)使ってて単体テストでも依存してたので、S3クライアントをモックにする方法を調べた。ソースはこちら。 通常はtype S3 structを使うがtype S3API interfaceというインタフェースが用意されているのでテスト時はこのインタフェースを実装したモックにすげ替える。 モックツール "gomock" あまりスターがついてないけど割りと古くからあってシンプルで使いやすかったので https://github.com/golang/mockを使ってみる。 インストール $ go get github.com/golang/mock/gomock $ go get github.com/golang/mock/mockgen $ go get github.com/aws/aws-sdk-go // mock target モック作成 $ mockge