私はRSpecとCapybaraが初めてで、ページに時間があるかどうかをテストしようとしています. 12:00 または 14:24 または 08:12 は、私がテストしようとしているものの良い例です。
次の正規表現を使用しています。
/^\d{2}:\d{2}/
ページにこの正規表現が含まれているかどうかをテストするために、カピバラで「フレーズを付ける」方法がわかりません。
私はRSpecとCapybaraが初めてで、ページに時間があるかどうかをテストしようとしています. 12:00 または 14:24 または 08:12 は、私がテストしようとしているものの良い例です。
次の正規表現を使用しています。
/^\d{2}:\d{2}/
ページにこの正規表現が含まれているかどうかをテストするために、カピバラで「フレーズを付ける」方法がわかりません。
私は次のようなものだと思います
page.text.should match(/^\d{2}:\d{2}/)
または、新しい RSpec 構文で
expect(page.text).to match(/^\d{2}:\d{2}/)
または、ページ全体ではなく、一部の要素をテストできます。
find("span.time").text.should match(/^\d{2}:\d{2}/)
これが新しい動作かどうかはわかりませんが、次のように使用できますhas_content?
。
page.has_content?(/do not have permission/i)
rspec では、次のようになります。
expect(page).to have_content(/do not have permission/i)
これはcapybara のオンライン ドキュメントで見つかりましたが、単なるエイリアスであるhas_text?
ため下にあります。has_content?