我正在尝试编写一些测试来验证表单是否正确的字段。
我看到了一些带有“page.should ...”和“断言页面......”的片段,但我不能谷歌明确说明可以使用什么以及如何使用它。
另外,我想知道是否可以在字段内容或字符串中使用正则表达式。
答案 0 :(得分:3)
随着时间的推移,有各种各样的rspec匹配器。我相信现在最受欢迎的是rspec-expectations。您可以将其与Capybara matchers。
结合使用要检查文本字段是否具有特定值,您可以执行以下操作:
expect(page).to have_field('field_id', :with => 'test')
have_field
就像其他的Capybara finder方法一样。 ' FIELD_ID'可以是字段的ID,名称或标签。 '测试'是文本字段应具有的值。
上述内容也可以通过以下方式完成,但阅读效果不佳。
expect(find_field('field_id').value).to eq('test')
对于正则表达式匹配,我不相信你可以使用第一个例子。你将不得不使用匹配方法使用后者:
expect(find_field('field_id').value).to match(/te/)