Я хочу создать простой сервер, который сможет принимать запросы веб-хуков от сервисов и обрабатывать их для меня.И ради интереса я хотел построить это на Go, так как это звучит как хороший язык, и это простой проект для начала.
Сервер работает нормально, но я не могу получить свой unittestработать.При проверке кажется, что каждый URL дает 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)
}