是否在 Rail 集成测试中抑制了所有异常?
Are all exceptions supressed in Rail integration tests?
我最近在一个 Rails 项目中发现了一个丢失的 I18n 翻译,但我在测试环境中启用了例外,所以我希望在测试期间找到它。似乎集成测试很乐意忽略异常,或者 I18n 可能选择不抛出异常。
这只是 Rails 的工作方式,还是我以某种方式启用了一些魔法标志?我可以创建一个单元测试来重现问题,但由于我已经有一个集成测试可以准确地命中正确的代码,所以如果我可以使用它就太好了。
好的,views 中关于翻译的评论告诉我有一个 ActionView::Helper::Translation
class 扩展了 I18n.t()
所以它抛出了我所期待的异常。然而,我的测试包括测试 控制器 中的一些代码,这些代码通过调用 t()
来设置一些 'Flash'。在 controller 的上下文中,这是基本的 t()
所以当出现问题时我不会得到异常。
所以要么我可以忍受这个,顽皮地扩展 get()
和我已经指出的类似功能,要么我可以扩展 ApplicationController
class 来添加这个功能,但看起来我也许可以创建一个 ActionController::Helper::Translation
镜像视图助手。
我最近在一个 Rails 项目中发现了一个丢失的 I18n 翻译,但我在测试环境中启用了例外,所以我希望在测试期间找到它。似乎集成测试很乐意忽略异常,或者 I18n 可能选择不抛出异常。
这只是 Rails 的工作方式,还是我以某种方式启用了一些魔法标志?我可以创建一个单元测试来重现问题,但由于我已经有一个集成测试可以准确地命中正确的代码,所以如果我可以使用它就太好了。
好的,views 中关于翻译的评论告诉我有一个 ActionView::Helper::Translation
class 扩展了 I18n.t()
所以它抛出了我所期待的异常。然而,我的测试包括测试 控制器 中的一些代码,这些代码通过调用 t()
来设置一些 'Flash'。在 controller 的上下文中,这是基本的 t()
所以当出现问题时我不会得到异常。
所以要么我可以忍受这个,顽皮地扩展 get()
和我已经指出的类似功能,要么我可以扩展 ApplicationController
class 来添加这个功能,但看起来我也许可以创建一个 ActionController::Helper::Translation
镜像视图助手。