ステップが合格したことを確認する最善の方法は、rspec の一致を使用してテストを合格または不合格にすることです。コンテンツ「foo bar」がページにない場合に機能を失敗させたい場合は、次のようにします。
Then /^I should see "([^\"]*)"$/ do |text|
page.should have_content(text), "Expected to see #{text} on the page"
end
許容レベルを設定している場合は、変数を使用して成功または失敗の数を追跡できます。「foo」をチェックする機能を実行していて、50回チェックしているとしましょう。ステップの 1 つで、成功の数を追跡する変数を作成します。ページにコンテンツがない場合に機能を失敗させることなく、capybara を使用してページに探しているものがあるかどうかを伝えることができます。
Given /^Some step$/ do
@a = 0
if page.has_content?("foo") == true
a += 1
end
end
次に、最後のシナリオで、 a が最小しきい値より大きいかどうかを確認します
Then /^Last step$/ do
@a.should be > 40, "Expected at least 40 success but saw #{a} successes instead"
end