値下げネタばっかで他は特に無し。PS3 ライトニングエディションはちょっと欲しい。
リハビリとして、testable_tdiary に入った角谷さんの変更点を見ていたんだけど、Hpricot を Nokogiri に置き換えた部分がいまいち cucumber で動いてないみたい。
When /(.*) に(?:アクセス|ポスト)した/ do |uri| target = case uri when "index.rb"; :index when "update.rb"; :update else raise "invalid uri: must be index.rb or update.rb" end @status, @header, @response = @driver.invoke(target) @response = Hpricot(@response) end Then /HTMLの (.*) タグの内容は (.*) を含む/ do |hpricot_path, content| @response.should have_tag(hpricot_path, /#{content}/) end
みたいなコードがあったときに、@response をHpricotからNokogoriに単純に置き換えた場合、@response.should が
undefined method 'find' 〜
となって動かない。しょうがないので @response.text と変更してみても内容が HTML から ブラウザに表示される内容になってしまって、今度はテストが失敗してしまう。
んで、しょうがないので @response を HTML にして出力する方法を探してみたんだけど、to_html とかしてみてもundefined method 'find' が出てしまってどーにも解決しない。
この辺の cucumber と Nokogiri の組み合わせに詳しい人助けて!
should have_tagが動くかどうかは分からないんですが、HTML自体は<br> @response.to_s<br>でどうでしょうか?
to_sでもundefined〜だったんですよねえ。should とか have_tag の方も関係しているかもしれません。
わたしもちょっとリハビリはじめてみたのですが、cucumberで動かすところはそもそもダメなところがいろいろありそうです。すんません。kakutani/tdiary にブランチきってやってみます……。
ありゃ、では cucumeber 以外の方向でちょっとこちらも動いてみます。