2010年12月30日木曜日

苦闘記録(^^;)

お休みだからひまな時はiMacの前に座ってプログラミング。というかcucumberの勉強。

本日、はまった点が二つ。

1,cucumber、capybara、cucumber-railsの組み合わせで「select_datetime」系のmethodが使えない

rspec本で「select_field関係はselect_dateとかが使えるよ」と書いてあったので試してみたらどーも使えない。cucumber-railsの0.4.0から実装されているみたいだけど、Gemfileに
gem 'cucumber-rails','0.4.0.beta.1
って書いたら
rails g cucumber:install
が通らない状態でした。(まっさらのプロジェクトを作って試しても同じだった)

じゃあ、ってんで該当するソースだけコピーしたり、そのソースのもとになったらしいソースをコピーしてみたりしたけどどうもうまくいかない。日付選択はテストしない、という結論がでるまで2時間くらいかかってしまった・・・。

2,redirectはどうやるの?
deviseはsign_in後に指定の「root」ページにリダイレクトされます。しかしそのつもりでfeature書いても通らない。sign_inのページで「Sign in」ボタン押してもcucumber的にはリダイレクトされないようで、いくら「~が表示されていること」とか「~ページを表示している」とか書いてもテストが失敗する。capybaraには「visit」ってーmethodがあるようなので、それを使え、ということのようだ。

とまあ、cucumberを使って「BDD」することが苦痛になるくらい苦労してますが、それでもいちいちブラウザで手であれこれ入力する「テスト」よりははるかに合理的だと思います。でもねー、feature通らないけど手でテストしたら普通に動いてるのをみるとがっくりきますね、自分の技術のなさに。

emacsをやっと使えるようになってきておもしろくなっているように、cucumberもcapybaraも使い続けることできっと面白みがわかってくるのだろう、と期待しております。ほんとかな・・・。

0 件のコメント:

コメントを投稿