読者です 読者をやめる 読者になる 読者になる

GolangでHTTPサーバのモックを使ってテストを実行する。

GolangでHTTPリクエストを投げるクライアントを実装した場合に、任意のレスポンスを返すサーバのモックを利用してテストを実行したい。
Golangの標準パッケージのnet/http/httptestを使うと、任意のレスポンスを返すモックを定義できる。
net/http/httptestを使うのが王道なのだとは思うけれど、テスト実行時にHTTPクライアントがアクセスするエンドポイントのURLを差し替える必要があったりして少しめんどくさい。
もうちょっと手軽な方法はないものかと探したところ、jarcoal/httpmockを見つけた。
以下のような感じでテスト毎にモックを定義できる。
単純なテストでも構わない場合はこちらのほうがお手軽で良い気がする。

参考