黄瓜测试以确保将错误消息附加到特定表单字段

时间:2012-08-09 08:31:45

标签: ruby-on-rails cucumber

使用Devise和Cucumber,我得到以下代码,用户尝试在没有密码的情况下注册:

Then /^I should see a missing password message$/ do
  page.should have_content "Password can't be blank"
end

在窗体顶部显示错误时这很好,但我现在已切换到内联消息,这意味着在其关联的错误消息中不再引用属性名称,因此我需要将我的代码更改为此:

Then /^I should see a missing password message$/ do
  page.should have_content "can't be blank"
end

现在我的功能已经通过,但我对此解决方案并不十分满意。如果我还可以测试此消息是否附加到空的password_field,而不仅仅是位于页面的某个位置,我会感觉更好。我想知道是否有办法说出这样的话:

Then /^I should see a missing password message$/ do
  password_field.should have_content "can't be blank"
end

我对黄瓜很新。

1 个答案:

答案 0 :(得分:1)

查看capybara文档中的查找和范围:https://github.com/jnicklas/capybara/#finding

find('#password').should have_content("can't be blank")