【问题标题】:Rspec is painfully slow with Ruby on Rails 3 + Devise + RedisRuby on Rails 3 + Devise + Redis 的 Rspec 速度非常慢
【发布时间】:2013-02-26 18:14:37
【问题描述】:

我正在使用 Rspec 来测试我们的 cancan 能力.rb 文件。虽然应用程序在开发模式下运行得非常快,但 rpsec 速度非常慢,并且日志不会显示长 db 或查看渲染时间。您如何诊断 Rspec 运行如此缓慢的原因?

更新 - 在 gemfile 中:

group :test do
  gem 'debugger'
  gem "rspec-rails"
  gem 'email_spec'
  gem 'factory_girl_rails'
end

gem 'rails', '3.2.11'
gem 'rack', '1.4.1'

【问题讨论】:

  • 你使用guard和spork吗?
  • 使用 gemfile 更新 q
  • 使用 guard (github.com/guard/guard) 和 spork (github.com/sporkrb/spork) 将自动化您的规范并使其运行更快(因为您只加载一次 Rails 环境)。
  • “慢”是非常主观的。您会使用“time rspec spec”运行并使用输出进行更新吗?
  • @JesseWolgamott,超过 2 个最多 3 秒应该被认为是慢的。外面已经是 21 世纪了,即使是手机也已经有了双核处理器。

标签: ruby-on-rails ruby-on-rails-3 rspec rspec2 rspec-rails


【解决方案1】:

对我来说最喜欢的方法是设置guardspork,因为虽然guard 只运行影响更改文件的测试,但spork 预加载以获得更好的性能。

以下截屏视频将帮助您立即启动并运行:

Spork

Guard

【讨论】: