ruby-on-rails - 如何发现为什么 RSpec 需要这么长时间才能启动?

标签 ruby-on-rails rspec rspec-rails rspec3

我知道有一种方法可以知道哪些规范占用的时间最多,但我怀疑 RSpec 的加载。规范本身不会花费太多时间,但负载却是。
有办法发现吗?
我正在处理 Rails 的遗留代码,但我不知道哪些 gem 可能会影响它。

最佳答案

可能是特定于应用程序的(例如要加载的 Gems 数量)。要显着加快 Rspec 加载时间,您可以使用 spring-commands-rspec,它为 Spring(Rails 应用程序预加载器)实现 rspec 命令,如下所示:

在您的 gemfile 中,添加:

gem 'spring-commands-rspec', group: :development

然后运行:bundle install ,最后:
bundle exec spring binstub rspec

在此过程之前和之后运行 Rspec,您应该会看到巨大的改进。

更多信息在这里:

https://github.com/jonleighton/spring-commands-rspec
https://schwad.github.io/ruby/rails/testing/2017/08/14/50-times-faster-rspec-loading.html
https://www.netguru.com/blog/9-ways-to-speed-up-your-rspec-tests

关于ruby-on-rails - 如何发现为什么 RSpec 需要这么长时间才能启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55773768/

相关文章:

ruby-on-rails - asset_host 和相关协议(protocol) URL 被更改为 http

ruby-on-rails - Rspec - 测试方法的实例

ruby-on-rails - capybara :fill_in Action 定位器

ruby-on-rails - 如何使用 rspec stub 访问器

ruby-on-rails - 如何使用 rspec 在 Controller 中测试自定义路由

ruby-on-rails - 如何使用 RSpec 为 JWT 验证应用程序制定请求规范

ruby-on-rails - 将辅助模块添加到 Rspec

ruby-on-rails - Neo4j gem - 查询不存在的关系

mysql - 带复选框的简单表单多选

ruby-on-rails - 带有自定义 header 和正文的 Ruby POST?