woshidan's loose leaf

ぼんやり勉強しています

テストのないコントローラをいじるときはナビゲーションテストだけでも書くと救われる

コントローラのテストがほとんどない状態からテストを書くの、結構苦しいなぁ、となって、 とりあえずコントローラに長々書いてある分はテストしやすいようにModelに括りだして分割してテストしたんですが、

そこで気が抜けて、インスタンス変数修正漏れアウト〜w 

という事態になりました。すぐに原因分かったし、社内ツールだから大事にはなっていないんだけど、 こういうの困る...けど、コントローラのテストはしんどい...

という場合は、いまからいじるコントローラのurlに対してリクエストを投げたら200系のレスポンスが返ってくるというテスト(ナビゲーションテストというらしい)

  test "注文一覧のURLにアクセスしたら、レスポンスコード200が返ってくる" do
    get '/orders'
    assert_response :success
  end

を書いておくと、これは一瞬で書けるしテストも軽い割に何かしら異常があるということは検知しやすいという知見を得たのでメモしておきます。

あと、

www.omniref.com

を使って自動的に生成できるっぽいですよ。