Estoy usando spork para probar una aplicación Sinatra y con Ruby 1.9.2 las pruebas se ejecutan en aproximadamente 3,5 segundos, pero en Ruby 1.8.7 promedian 1.2 segundos. Probé Ruby 1.9.3 e incluso JRuby pero tenían algunos errores con las gemas que estoy usando. ¿Hay alguna manera de llevar el rendimiento rspec de Ruby 1.9.2 al nivel de 1.8.7?¿Por qué mis pruebas de rspec se ejecutan más despacio en Ruby 1.9.2 que en 1.8.7?
Mi Gemfile:
source :rubygems
gem 'sinatra', '1.3.1'
gem 'thin', '1.3.1'
gem 'haml', '3.1.4'
gem 'datamapper', '1.2.0'
gem 'dm-postgres-adapter', '1.2.0'
gem 'carrierwave', '0.5.8'
gem 'carrierwave-datamapper', '0.2.0'
group :test do
gem "dm-sqlite-adapter"
gem "spork"
gem "rspec"
gem "rack-test"
end
spec_helper.rb:
require 'rubygems'
require 'spork'
require 'sinatra'
require 'rack/test'
require 'rspec'
require File.join(File.dirname(__FILE__), '..', 'app.rb')
require File.join(File.dirname(__FILE__), '..', 'model/model.rb')
Spork.prefork do
set :environment, :test
set :files, "test_files"
end
Spork.each_run do
RSpec.configure do |config|
config.before(:each) { DataMapper.auto_migrate! }
config.after(:all) do
FileUtils.rm_rf(Dir["#{settings.root}/public/test_files"])
end
end
end
gracias!
Creo que recuerdo haber leído sobre un problema de rendimiento relacionado con la forma en que MRI 1.9.2 cargaba los módulos. Veré si puedo encontrar el enlace – Magnus