Rails测试没有指定准确的措辞

时间:2012-01-18 02:29:29

标签: ruby-on-rails testing rspec capybara

我是测试概念的新手,有一件事真的让我失望。目前我正在使用rspec和capybara进行请求测试。当我想指定用户操作时,例如按下按钮或填写表单字段,我必须为该字段提供准确的措辞。

例如,当我有一个Reset按钮并在我的测试中写了click_button 'reset'时,它失败了。同样,我有password_confirmation属性的字段。但是,我无法填写password_confirmation字段,因为它的ID和名称已分别扩展(user_password_confirmationuser[password_confirmation])。最简单的解决方法是使用标签并写下fill_in 'confirm password'

现在,显然当我想要重新标记标签甚至改变字母大小写时,这些测试都会失败。是否有任何选择可以对措辞进行不那么严格的测试?

1 个答案:

答案 0 :(得分:2)

是的,您需要使用I18n(即使您的应用只是一种语言)。然后,无论将哪个语言环境设置为默认语言,或者将来如何更改该值,您都将获得“标签无关”测试。

您只需传递一个密钥即可获得实际标签。