1

上周左右我一直在学习 rails,我刚刚开始接触 BDD。任何 cucumber 或 rspec 教程中的一个典型示例是确保将成功/错误消息显示为对操作成功或失败的检查。

这意味着现在有一个恒定的消息,例如在代码中两次“您的消息已成功传递” - 一个在应用程序中,另一个在测试中。这对我来说很奇怪......它不是 DRY,它是开发人员赖以生存的,如果您想将消息更改为其他内容,则必须执行两次。

这是标准吗?我在 locales 目录中阅读了有关 en.yml 的内容,想知道是否有人将它用于他们的字符串。到目前为止,我还没有在任何教程中看到这一点,这就是我要问的原因。en.yml 中的字符串对 cucumber/rspec 测试可见吗?如果是这样,我如何在代码中访问它们?如果 en.yml 不是要走的路,rails 开发人员如何存储他们的常量字符串值?

4

1 回答 1

0

使用语言环境文件来存储依赖于语言环境的字符串,例如您提到的消息。然后只需执行以下操作:

page.should have_content I18n.translate(:message_delivered)
于 2012-09-25T18:06:02.157 回答