【发布时间】:2018-10-11 21:46:26
【问题描述】:
我想制作一个简单的服务器,它可以接收来自服务的 web hook 请求并为我处理它们。为了好玩,我想在 Go 中构建它,因为这听起来是一门不错的语言,而且这是一个简单的项目。
服务器似乎工作正常,但我的单元测试无法正常工作。经检查,似乎每个网址都给出了 404。我做错了什么?
main.go
package main
import (
"fmt"
"log"
"net/http"
)
func pingHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "{\"check\": \"online\"}")
}
func main() {
// Start server
log.Print("Starting server")
http.HandleFunc("/ping", pingHandler)
log.Fatal(http.ListenAndServe(":7080", nil))
}
main_test.go
package main
import (
"fmt"
"net/http"
"net/http/httptest"
"testing"
)
func TestPingHandler(t *testing.T) {
req, err := http.NewRequest("GET", "/ping", nil)
if err != nil {
t.Fatal(err)
}
rr := httptest.NewRecorder()
http.DefaultServeMux.ServeHTTP(rr, req)
status := rr.Code
fmt.Println(status)
}
【问题讨论】:
标签: unit-testing go