キュウリとカピバラを使用して、文字列がページに存在しないことを確認する方法はありますか?
たとえば、この手順の反対をどのように書けばよいですか。
Then /^I should see "(.*?)"$/ do |arg1|
page.should have_content(arg1)
end
これはarg1
が存在します。
失敗 if arg1
見つかった?
has_no_content
カピバラのマッチャー。だからあなたは書くことができます
Then /^I should not see "(.*?)"$/ do |arg1|
page.should have_no_content(arg1)
end
現在Rspec 3.4(2016)では、これはコンテンツがないことをテストするための推奨される方法です。
expect(page).not_to have_content(arg1)
should_notを使用して、少し読みやすくすることもできます。
Then /^I should not see "(.*?)"$/ do |arg1|
page.should_not have_content(arg1)
end
その他の情報: https://www.relishapp.com/rspec/rspec-expectations/docs
現在、次のものを使用できます。
Then /^I not see "(.*?)"$/ do |arg1|
expect(page).to have_no_content(arg1)
end
コンテンツがページで見つかった場合、テストは赤です
私はよくSO実際に機能する回答を探すために多くの時間を費やしています。多くの回答は機能しません(おそらく、以前の多くの回答は非推奨になっていますか?または、Rails/gemsのバージョンによって異なる場合があります)あなたが使用しています)。
しかし、私にとってこれは最終的にそれをしました:
expect(page).wont_have_content("Text you are looking for")