Integration Testing · intridea/omniauth Wiki
概要: OmniAuth で Authentication のテストに関する有益情報です
僕は最近、プログラミングができるぐらい体調が良いときは、Ruby と OmniAuth を使ってプログラミングしていたりするんですが、そのときに、
OmniAuth のテストってどうすれば良いんだべ?
って成ってたんですが、その解決策が上記リンク先の OmniAuth の公式 Wiki に掲載されていたので、ちょっくら紹介してみます。
まあテストコードについては、上記リンク先の Wiki、
Integration Testing · intridea/omniauth Wiki
を見れば一発なので、細かい所は省略しますが、やってるコトとしては、
OmniAuth.config.test_mode = true
を設定して OmniAuth をテストモードにするOmniAuth.config.add_mock(:twitter, {:uid => '12345'})
という感じで Mock user を追加する- あとは
Rack::Test
等を使い、Rack Application のテストコードを普通に書く
という感じっぽいです。
で、これは Rack::Test
はどうも Redirect を自動で行わない(たぶんリダイレクト先が正しいかテストできるようにするためっぽい)ため、 Rack::Test
にリダイレクトさせたい場合は、
follow_redirect!
を呼んでやる必要が有ったりします。んで僕は最初それを知らなくてハマりました。ちょっとだけなんだけど。
それで、あとの Rack Application のテスト方法なんかについては、まあ普通に Rack::Test
辺りの使い方を探ればいいんじゃね? とか思います。
というコトで本日の有益情報は以上です。
で、ちなみになんかすごく久しぶりに真面目にプログラミングネタ書いた気がしております。最近体調悪くてプログラミングどころじゃなかったからね。今日も体調はあんまりよろしくないんだけれども。
あと、最近ピアノの練習をし始めました。ブランクはおよそ 14 年。小学校卒業した以来です。まあなんでピアノの練習してるかっていうと、アレだ、DTM のリアルタイムレコーディングで、音合わせでき NEEEEEEE!!!というのが主な理由。今はハノンの一番最初のヤツを 60BPM で練習しております。スゲー下手になってるけど。
まあそんな感じで。
以上、OmniAuth に関する有益情報と近状報告でした。まる。