19

私はRSpecとCapybaraが初めてで、ページに時間があるかどうかをテストしようとしています. 12:00 または 14:24 または 08:12 は、私がテストしようとしているものの良い例です。

次の正規表現を使用しています。

/^\d{2}:\d{2}/

ページにこの正規表現が含まれているかどうかをテストするために、カピバラで「フレーズを付ける」方法がわかりません。

4

2 に答える 2

28

私は次のようなものだと思います

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}/)
于 2012-09-20T13:06:22.073 に答える
14

これが新しい動作かどうかはわかりませんが、次のように使用できます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?

于 2014-02-24T20:54:49.797 に答える