capybara が 2.0.0 とメジャーバージョンアップしたので、tDiary で使っている capybara も 2.0.0 にアップデートした。
capybara は 2.0.0 から Ambiguous Match(曖昧な一致) な node 検索は全て raise するようになってしまったので、これまで普通に動いている spec でも軒並み fail するようになってしまったので、tDiary ではそこを直した。この Ambiguous Match を直すには
の二つがあって、前者の方がよりよりコードではある物の既に動いているものがある以上、spec に合わせてプロダクトコードを直すというのはちょっと無しで、まずは spec を直してテストを通るようにしてから本体を直せるなら直すということにした。つーか、これ rails でサービスインしているような奴で id と name を直すのなんて無理じゃないの。
とりあえず、直し方としてはこのコミットを参考にしてください。Ambiguous Match な find をいきなりやるのでは無く text 検索などで出来るだけ狭めてからノードで直接 click を実行するという方法を使うと割とタンポポワークで直すことができる。
あと、tDiary でやったこととしては、1.8 だと上に書いたような text で検索するということができなくなったので、1.8 の時は capybara-1.x.y を使うことにした。皆さんも頑張って capybara-2.0.0 に挑戦してみてください。