gobuch/quality/http-server-test.v1/main_test.go

37 lines
790 B
Go
Raw Permalink Normal View History

2020-08-21 04:26:40 +00:00
package main
import (
"net/http"
"net/http/httptest"
"strings"
"testing"
)
func Test_myHandler(t *testing.T) {
type args struct {
url string
expectedName string
}
tests := []struct {
name string
args args
}{
{"simple URL", args{"/json/testing", "testing"}},
{"simple URL", args{"/json/test/2", "test"}},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
request, err := http.NewRequest(http.MethodGet, tt.args.url, nil)
if err != nil {
t.Errorf("could not create request for url: %v", tt.args.url)
}
recorder := httptest.NewRecorder()
myHandler(recorder, request)
if !strings.Contains(recorder.Body.String(), tt.args.expectedName) {
t.Errorf("The response does't contain %v", tt.args.expectedName)
}
})
}
}