通过default_url_options为Rails测试设置locale(Rails 6及更新版本)。

有没有一种可靠的方法可以通过 default_url_options Rails测试(控制器和系统测试)的全局性,而不必手动将locale传递给url helpers?

在Rails 6.0.1之前,这种方法是可行的。

# Set locale via default_url_options
class ActionDispatch::Routing::RouteSet
  def default_url_options(options = {})
    { locale: I18n.locale }.merge options
  end
end

解决方案:

按照这个 Rails问题 您可以访问 default_url_options 没有猴子补丁。

ActionDispatch::IntegrationTest.app.default_url_options[:locale] = I18n.locale

不过我建议每次都手动传递locale param。

我在一个应用程序中也遇到了同样的问题,最后在所有测试中手动设置了param。第一次是很繁琐的,但它最终会使所有的调用更清晰,并有助于减少对测试套件专用代码的依赖。

给TA打赏
共{{data.count}}人
人已打赏
未分类

根据XSD中的其他字段值来定义必填字段。

2022-9-8 20:54:41

未分类

在Headers中添加 "Host",得到一个错误(HTTPWebRequest)

2022-9-8 21:05:18

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索