let変数名にシーケンスを追加する方法はありますか?このようなもの:
5.times do |n|
let (:"item_'#{n}'") { FactoryGirl.create(:item, name: "Item-'#{n}'") }
end
次に、このようなテストが機能する可能性があります。
5.times do |n|
it { should have_link("Item-'#{n}'", href: item_path("item_'#{n}'") }
end
それは適切なソートのテストにつながりますが、基本を理解しようとしているだけです。
編集:タイプミスがありました。一重引用符を削除しましたが、let呼び出しが機能しているようです。
let! (:"item_#{n}") { FactoryGirl.create(:item, name: "Item-#{n}") }
私が使用する場合、テストは1つのケースに合格します。
it { should have_link("Item-0", href: item_path(item_0)
しかし、私が使用する場合のシーケンスではありません:
it { should have_link("Item-#{n}", href: item_path("item_#{n}")
問題がhrefパスにあることを確認しました。パスで使用される場合、item_nをどのように補間しますか?