Slide 56
Slide 56 text
Testing Handler
// ҎલɺલεϥΠυ༰
c.TokenHandler(w, r)
res := w.Result()
defer res.Body.Close()
if expected := http.StatusOK; expected != res.StatusCode {
t.Errorf("expected status code: %#v, given code: %#v", expected, res.StatusCode)
}
if expected := "application/json; charset=utf-8"; expected != res.Header.Get("Content-
Type") {
t.Errorf("unexpected response Content-Type, expected: %#v, but given #%v", expected,
res.Header.Get("Content-Type"))
}
expected := resFormat{
AccessToken: token,
ExpiresIn: 3600,
TokenType: "Bearer",
}
actual := resFormat{}
if err := json.NewDecoder(res.Body).Decode(&actual); err != nil {
t.Errorf("unexpected error occured: %#v, given response: %#v", err, res)
}
if diff := cmp.Diff(expected, actual); diff != "" {
t.Errorf("differs: (-want +got)\n%s", diff)
}
handler_test.go
github.com/google/go-cmp/cmp Ͱͷɺ
Ξαʔγϣϯ