我是测试概念的新手,有一件事真的让我失望。目前我正在使用rspec和capybara进行请求测试。当我想指定用户操作时,例如按下按钮或填写表单字段,我必须为该字段提供准确的措辞。
例如,当我有一个Reset
按钮并在我的测试中写了click_button 'reset'
时,它失败了。同样,我有password_confirmation
属性的字段。但是,我无法填写password_confirmation
字段,因为它的ID和名称已分别扩展(user_password_confirmation
和user[password_confirmation]
)。最简单的解决方法是使用标签并写下fill_in 'confirm password'
。
现在,显然当我想要重新标记标签甚至改变字母大小写时,这些测试都会失败。是否有任何选择可以对措辞进行不那么严格的测试?
答案 0 :(得分:2)
是的,您需要使用I18n
(即使您的应用只是一种语言)。然后,无论将哪个语言环境设置为默认语言,或者将来如何更改该值,您都将获得“标签无关”测试。
您只需传递一个密钥即可获得实际标签。