3

見出しの後にそのグループに属するアイテムが続く、印刷に適した形式で表示する Web ページがあります。例:

Headline1
=========
Item1
Item2
Item3

Headline2
=========
Item4
Item5

cucumber + capybara を使用して機能テストを実行し、ページのコンテンツが正しいことを確認したいと考えています。できるだけ簡単にするにはどうすればよいですか?各アイテムが正しい見出しの下にあることを確認したいので。

私の最初の試みは

page.should have_content"Headline1
=========
Item1
Item2
Item3

Headline2
=========
Item4
Item5"

しかし、それは私に奇妙なエラーを与えます:

expected there to be content "Headline1\n=========\nItem1\n and so on" in "Headline1\n=========\nItem1\n and so on"

つまり、2 つの行はまったく同じです!!! これが機能しないのはなぜですか?回避策はありますか?ページには基本的なテキストのみが含まれているため、チェックできる div アイテムなどは含まれていないことに注意してください。

4

1 に答える 1

3

またはメソッドで使用page.textします。include?match

http://robots.thoughtbot.com/post/8399836754/multiline-strings-in-capybara http://praktikanten.brueckenschlaeger.org/2011/11/15/working-in-cucumber-with-new-lines-and -have_content

最初のリンクからの引用:

Capybara で複数行の文字列をチェックする場合、page.source は改行を保持しないため、page.text を使用する必要があります。

于 2012-07-09T14:34:21.623 に答える