Pas*_*cke 4 testing ruby-on-rails internationalization
在测试Flash消息和生成的视图时,是否应该使用一种语言测试生成的输出:
should_set_the_flash_to /Hello/i
Run Code Online (Sandbox Code Playgroud)
或者你应该把I18N带入你的测试中:
should_set_the_flash_to I18n.t("sign_up.welcome")
Run Code Online (Sandbox Code Playgroud)
可能是我的问题不是正确的问题...如果已经有很好的解释结合测试和i18n,请随意回答链接...
更新:在Arsen7的回答之后输入正确的国际化代码,thx Arsen7!
这取决于你想要测试什么.
如果您测试flash文本是否为"Hello",那么您确定知道用户将看到的内容.
另一方面,测试flash是否包含与帮助器"t"为给定字符串返回的内容相同的内容,有时也是有意义的 - 例如,当您的翻译文件经常更改,或者其内容是由其他人创建时,有时后来.
我个人总是测试确切的最终翻译(assert_equal "Hello", flash[:message]事情的种类).
它向我保证:1)翻译听起来不错,2)语言被正确识别(你不想为你的英语用户提供波兰语消息,对吗?)
至于你问题的第二部分:
也许" should_set_the_flash_to I18n.t("sign_up.welcome")"会起作用吗?
| 归档时间: |
|
| 查看次数: |
1552 次 |
| 最近记录: |