読者です 読者をやめる 読者になる 読者になる

カラクリサイクル

『輝かしい青春』なんて無かった人の雑記

言及

Development Tips Diary

概要: OmniAuthでAuthenticationのテストに関する有益情報です


僕は最近、プログラミングができるぐらい体調が良いときは、RubyとOmniAuthを使ってプログラミングしていたりするんですが、そのときに、

OmniAuthのテストってどうすれば良いんだべ?

って成ってたんですが、その解決策が上記リンク先のOmniAuthの公式Wikiに掲載されていたので、ちょっくら紹介してみます。


まあテストコードについては、上記リンク先のWiki、

を見れば一発なので、細かい所は省略しますが、やってるコトとしては、

  1. OmniAuth.config.test_mode = trueを設定してOmniAuthをテストモードにする
  2. OmniAuth.config.add_mock(:twitter, {:uid => '12345'}) という感じでMock userを追加する
  3. あとは Rack::Test 等を使い、Rack Applicationのテストコードを普通に書く

という感じっぽいです。

で、これは Rack::Test はどうも Redirect を自動で行わない(たぶんリダイレクト先が正しいかテストできるようにするためっぽい)ため、 Rack::Test にリダイレクトさせたい場合は、

  • follow_redirect!

を呼んでやる必要が有ったりします。んで僕は最初それを知らなくてハマりました。ちょっとだけなんだけど。

それで、あとの Rack Applicationのテスト方法なんかについては、まあ普通に Rack::Test 辺りの使い方を探ればいいんじゃね? とか思います。


というコトで本日の有益情報は以上です。

で、ちなみになんかすごく久しぶりに真面目にプログラミングネタ書いた気がしております。最近体調悪くてプログラミングどころじゃなかったからね。今日も体調はあんまりよろしくないんだけれども。

あと、最近ピアノの練習をし始めました。ブランクはおよそ14年。小学校卒業した以来です。まあなんでピアノの練習してるかっていうと、アレだ、DTMのリアルタイムレコーディングで、音合わせできNEEEEEEE!!!というのが主な理由。今はハノンの一番最初のヤツを60BPMで練習しております。スゲー下手になってるけど。

まあそんな感じで。

以上、OmniAuthに関する有益情報と近状報告でした。まる。