我最近发现Rails项目中缺少I18n翻译,但我在测试环境中启用了异常,所以我希望在测试期间找到它。似乎集成测试很乐意忽略异常,或者I18n可能选择不抛出异常。
这只是Rails的工作方式还是有一些神奇的旗帜,我已经以某种方式启用了?我可以创建一个单元测试来重现问题,但由于我已经有一个完全符合正确代码的集成测试,如果我可以使用它会很好。
答案 0 :(得分:0)
好的,视图中有关翻译的评论告诉我的是,ActionView::Helper::Translation
类扩展了I18n.t()
,因此它会抛出我期望的异常。但是,我的测试包括在控制器中测试一些代码,通过调用t()
设置一些“Flash”。在控制器的上下文中,这是基本的t()
,所以当出现问题时我不会出现异常。
所以要么我可以忍受这个,要顽皮地扩展get()
和类似的功能,或者我可以扩展ApplicationController
类来添加这个功能,但似乎我可以创建一个镜像View帮助器的ActionController::Helper::Translation
。