Golangでredirectのテストをしようとしたら嵌った
はじめに
post以外のメソッドでアクセスしてきた場合は `/‘へリダイレクトするURLに対してきちんとリダイレクトするかのテストを書こうとしたら嵌った
嵌った
func TestRedirectHandler(t *testing.T) { ts := httptest.NewServer(http.HandlerFunc(redirectHandler)) defer ts.Close() res, err := http.Get(ts.URL) if err != nil { t.Errorf("Someting Server Error: %s", err) } if res.StatusCode != 302 { t.Error("Do Not Redirect for Get Method") } }
こんな感じでテストすると err
に Get /: stopped after 10 redirects
って入ってくる。
リダイレクトってエラーなん??
謎い。
しょうがないから
if err != nil && !strings.Contains(err.Error(), "Get /: stopped after 10 redirects") { t.Errorf("Someting Server Error: %s", err) }
こうしてみた。
どうするのがお作法なんでしょうか…
まとめ
- わからん。
- とりあえずredirectのところの実装みるか