3/29/2012

やっぱり Mocktra は便利だった!

先月、「Mocktra がやばいやばいやばい」で紹介した Mocktra を最近使っているけど、やっぱり便利だった。

いま僕やってることは、ウェブページのスクレイピングみたいなことをするライブラリの作成で、そのテストの場面で Mocktra が大活躍。

テストフレームワークは RSpec をつかってて、プロジェクトのディレクトリ直下には lib と spec のディレクトリがある感じ。lib ディレクトリの下にライブラリの実装をいれていって、spec ディレクトリの下にテストコードをいれていく。spec ディレクトリには各テストコードに共通の内容が入った spec_helper.rb がある。ここで Mocktra を使ってる。あと、spec ディレクトリの下に data ディレクトリをいれて、ここにスクレイピングする対象の HTML ファイルを配置する。

それで、spec_helper.rb の中で
require 'mocktra'

Mocktra('www.example.com') do
  get '/hoge'
    case param[:fuga]
    when "piyo"
      File.read(File.join("spec", "data", "piyo.html"))
    end
  end
end
て感じのことをしてる。細かいところは間違ってるかもだけど、要は、これだけのコードで、http://www.example.com/hoge?huga=piyo がアクセスされたら spec/data の下にある piyo.html を返すウェブサーバの代わりをしてくれるんだ。すごいよ、ほんと、いいタイミングすばらしいライブラリに出会った。。

通信エラー時のテストをやろうと思って、どうやってやるんだ?ということで Mocktra の中身を見てみたら、WebMock てのをベースにしてるだねー。で、Mocktra の README.md の以下の NOTICE のこともなんとなくわかった。
Mocktra calls WebMock.allow_net_connect! when loading.
で、通信エラーの件は、WebMock だと表現できないのかな、ということで、ライブラリ内で使ってる HTTPClient の HTTPClient#get (だったかな)をテストコードの直前でオーバーライドして、目的の例外、たとえば TimeoutError を raise するようにした。     

ところで、こないだのブログ記事で
記事を RubyFlow に投稿してくれた、jugyo さん、ありがとう!!!
て書いたけど、 実は、jugyo さんは Mocktra の作者じゃん!あらためて、jugyo さん、Mocktra を作ってくださってありがとうございまーす!


3/17/2012

Thunderbird の Confirm-Address アドオンがイケてる!

いっこ前に投稿した記事 で言ってたメイルの宛先は、ちゃんと正しいものになっていた。よかったよかった。

んで、宣言どおり、Confirm-Address を使い始めた。結構イイ感じ~!作者のみなさん、あざーす!

3/15/2012

メイルの宛先あってたよね?...ってすごく不安....

仕事の帰りがけに出したメイルの宛先が間違ってたらどうしよう、って、急に不安になって、でも、手元の仕事の PC が無いから確認もできなくいて、気分が沈む....

疲れてるのかな。。いつも通りの感じでやっていれば問題ないと思うんだけど、普段メイルしない相手への慣れない英語のメイルだったから、余計に不安になっているのかも。明日確認して、はやくすっきりしたい(きっと、間違っていないと信じてる)。

送信アドレスの確認ツールみたいなものをいれてみようかな。Thunderbird だと、Confirm-Address ってのが人気みたいだ。

大丈夫、たぶん、大丈夫。

3/13/2012

TED スピーカーの最悪の悪夢

見てよ、これ.....かわいそすぎる....世界のすごい人たちがステージに立つという TED でこんなことになったら、泣いちゃうよ。。。



でも、大丈夫(?)。これは、 Improve Everywhere ミッションだったんだって!詳細は
Spinning Beach Ball of Death を参照。あの、くるくる回る虹色の玉は spinning beach ball なんて呼ばれてるんだ。知らなかったー。

最初にこの動画を見たのは、Youtube にアップロードされた動画で、何も説明を見ないでみたから、「いくらなんでもスピーカーがかわいそすぎるっ!」って思ったんだけど、KneelOnR さんのコメントに見て一安心。
oh wait, it says he PLAYED the speaker, my bad. good catch
それから、Spinning Beach Ball of Death を読んだのだった。



3/08/2012

SPDY の internet-draft がでてるん

そういえば、先月、SPDY の internet-draft がでたんだよねー。

http://tools.ietf.org/html/draft-mbelshe-httpbis-spdy-00

まだ読んでないけど。。。