7388


例えば、ページ内に

[code]

    あいうえお
    単語
    かきくけこ
    単語
    
[/code]

とあった場合、capybaraで

[code]

    expect(page).to have_content('単語')
    
[/code]

とした場合、マッチしますがこの'単語'の数をテストすることは可能でしょうか？

自分の場合、ひとつの'単語'のみ含まれていてほしいというようにしたいです。


CC BY-SA 3.0
2015-03-03T09:13:24.650
7377
2015-03-03T13:52:54.627
4971
question
ruby-on-rails capybara
capybaraのhave_contentなどで、含まれていてほしい単語の数を指定したい。


`expect(page).to have_content('単語', count: 1)`

でいかがでしょうか？

have_xxx には引数が渡せるようです。

[capybara/matchers.rb at master ·
jnicklas/capybara](https://github.com/jnicklas/capybara/blob/master/lib/capybara/node/matchers.rb#L432-L449)

下記に一部を抜粋します。

[code]

      #     @option options [Integer] :count (nil)     Number of times the text is expected to occur
      #     @option options [Integer] :minimum (nil)   Minimum number of times the text is expected to occur
      #     @option options [Integer] :maximum (nil)   Maximum number of times the text is expected to occur
      #     @option options [Range]   :between (nil)   Range of times that is expected to contain number of times text occurs
    
[/code]


CC BY-SA 3.0
2015-03-03T13:52:54.627
7388
2015-03-03T13:52:54.627
7471
7377
answer