私は以下のようなリクエストハンドラのセットを持っている:Golangでhttpリクエストハンドラをテストするにはどうすればよいですか?
func GetProductsHandler(w http.ResponseWriter, req *http.Request) {
defer req.Body.Close()
products := db.GetProducts()
// ...
// return products as JSON array
}
は、どのように私は彼らに正しい方法をテストするのですか? ResponseWriterとRequestオブジェクトを関数に送信して結果を確認する必要がありますか?
テストの前にサーバーを起動しなくても、プロセスを簡略化するためにGoに要求オブジェクトと応答オブジェクトを模擬するツールはありますか?
['httptest'パッケージ](https://golang.org/pkg/net/http/httptest/)を意味しますか? – JimB
'http.Request'と' http.Response'の両方がシンプルで完全にエクスポートされたタイプなので、必要なものや必要なものに設定してください。ツールや「嘲笑」の必要はありません。 – Volker
https://golang.org/pkg/net/http/httptest/#example_ResponseRecorder – dm03514