我有類似下面的一組請求處理程序:如何測試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' package](https://golang.org/pkg/net/http/httptest/)? – JimB
'http.Request'和'http.Response'都是簡單的和「完全導出」的類型,所以只需將它們設置爲任何你想要或需要的。不需要工具或「嘲笑」。 – Volker
https://golang.org/pkg/net/http/httptest/#example_ResponseRecorder – dm03514