1

我正在尝试编写一些测试来验证表单是否正确。

我看到了一些带有“page.should ...”和“assert page...”的片段,但我无法谷歌确定可以使用什么以及应该如何使用它的文档。

另外,我想知道是否可以在字段内容或字符串中使用正则表达式。

4

1 回答 1

3

随着时间的推移,已经开发了各种 rspec 匹配器。我相信现在最流行的是rspec-expectations。您可以将其与Capybara 匹配器结合使用。

要检查文本字段是否具有特定值,您可以:

expect(page).to have_field('field_id', :with => 'test')

have_field就像其他 Capybara finder 方法一样。'field_id' 可以是字段的 id、名称或标签。'test' 是文本字段应具有的值。

上面的也可以用下面的来完成,但不是很好读。

expect(find_field('field_id').value).to eq('test')

对于正则表达式匹配,我不相信您可以使用第一个示例。您将不得不将后一种方法与 match 方法一起使用:

expect(find_field('field_id').value).to match(/te/)
于 2013-09-17T13:41:42.550 回答