当前位置: 首页 > 知识库问答 >
问题:

在应用程序中将enforce\u available\u locales设置为true。rb使测试变慢

罗伟兆
2023-03-14

升级到rails 3.2.16后,我收到了一条弃用警告。这种反对意见与enforce\u available\u locales有关,我可以通过应用此问题的解决方案来解决它。

Rails I18n验证弃用警告

解决方案是在配置/应用程序中添加这一行。rb

config.i18n.enforce_available_locales = true

添加上述行后,我的rspec测试突然变得非常慢。通常每个测试用例大约需要0.03-0.1秒,现在每个测试用例大约需要2-4秒。

有没有人有同样的问题?或者这只适用于我的环境?

仅供参考这是我的珍宝:

gem 'rails', '= 3.2.16'  
gem 'rspec', '~> 2.14.1'  
gem 'rspec-rails', '~> 2.14.0'  
gem 'shoulda', '~> 3.5.0'  
gem 'i18n', '~> 0.6.9'

编辑:

我在GitHub i18n上发现了这个问题,似乎不仅仅是我。。

共有2个答案

柳晔
2023-03-14

我建议您使用宙斯宝石以更快的方式加载整个环境。您可以按照此屏幕广播了解更多信息。

在不将其添加到Gemfile的情况下,安装gem(gem install zeus),然后在shell中运行zeus start。打开另一个shell,您将在zeus快捷方式下拥有所有通用的rails命令。

当您使用zeus rspec spec运行测试时,您会发现速度有了很大的提高,因为整个rails环境总是加载在内存中,不需要每次运行测试时都进行初始化。

谢翰学
2023-03-14

github对此存在一个问题:https://github.com/svenfuchs/i18n/issues/230

该问题已于2014年5月7日在此处解决:https://github.com/svenfuchs/i18n/pull/249

 类似资料:
  • 问题内容: 我想编写一个为Windows中的非Java应用程序创建输入的应用程序。使用Robot类,很容易生成输入,但是我需要将焦点设置到另一个应用程序的文本框中,然后在该文本框中输入文本。 不用担心我不是在尝试写恶意的东西,我只是想使用Java来“扩展”用Delphi编写的旧应用程序。 问题答案: CMDOW是一个命令行实用程序,可让您执行各种窗口操作,例如激活/停用,列出,最小化/最大化等。

  • 我正在考虑是否可以根据应用程序部署到的Beanstalk环境将React应用程序设置为具有特定的环境变量。 我的目标是使预编译的react代码具有特定于该环境的环境变量。我希望避免向用户提供具有所有环境变量的JS代码 是否可以使用MsBuild条件,以便根据所选的Beanstalk环境运行不同的构建脚本?或者可能是基于Beanstalk内部环境变量的条件?

  • 设置是,我希望有一个正在运行的应用程序,然后使用@Value注释中的URL运行集成测试。我的测试类使用Rest Assured并如下所示: 我的build.gradle文件如下所示:

  • 问题内容: 我正在使用Jenkins Multibranch Pipelines实施构建工作。最后阶段是将构建输出上传到Artifactory。 通过界面配置独立作业时,有一个选项“从Artifactory丢弃旧版本”,这使我只能保留与“要保留的最大版本数”设置中指定的相同数量的版本。 我的Jenkins文件中的上传阶段配置如下:https ://wiki.jenkins- ci.org/disp

  • 我试图使用javascript中的Fetch API向spring应用程序发送一些表单数据。我有以下代码来发送表单数据: 但是我得到一个415状态错误“不支持的媒体类型”。即使我将标头“Content-Type”专门设置为“Application/json”,它也会像“text/平原”一样发送 这是我从服务器得到的响应: 以下是在Spring中接受请求的方法: 我不知道为什么请求是以“text/p