我上周一直在学习rails,我刚刚开始进入BDD。任何黄瓜或rspec教程中的典型示例是确保显示成功/错误消息,以检查操作是成功还是失败。
这意味着现在有一个常量消息,例如代码中的“您的消息已成功传递”两次 - 一个在应用程序中,另一个在测试中。这对我来说很奇怪......它不是DRY,它会影响开发人员的生活,如果你想将消息更改为其他内容,你必须做两次。
这是标准吗?我已经阅读了locales目录中的en.yml,并想知道是否有人将它用于他们的字符串。到目前为止,我还没有在任何教程中看到这个,这就是我要问的原因。 en.yml中的字符串对cucumber / rspec测试是否可见?如果是这样,我如何在代码中访问它们?如果en.yml不是要走的路,那么rails开发者如何存储它们的常量字符串值?
答案 0 :(得分:0)
使用区域设置文件来存储与区域设置相关的字符串,就像您提到的消息一样。然后做一些像:
page.should have_content I18n.translate(:message_delivered)