最近、現在のアプリで Rails 3.2.8 にアップグレードしましたが、いくつかのテストに合格できません。特定のハッシュを params ハッシュとマージし、現在のページへのリンクを作成するヘルパー メソッドを作成しました。私が見たテクニックを使用しました: link_to 現在のページ plus/merged with a param。
以下は、簡略化されたバージョンです。
def simple_link
link_to "Page", params.merge(:c => nil)
end
次に、次のような方法でテストします。
describe "simple_link" do
it { simple_link.should == "<a href=\"/assets\">Page</a>" }
end
これは 3.2.6 で通過していました。
ただし、rspec エラーが表示されるようになりましNo route matches {:c=>nil}
た。Rails、rspec、またはカピバラのいずれかが、ハッシュがルートであると考えています。のような適切なルートを追加するusers_path
と、url_for がハッシュを取得するように見えます。ブラウザでテストすると、すべて正常に動作し、エラーは発生しません。私は何か間違ったことをしていますか、3.2.8 で何かが変更されましたか、それともバグですか?