Что лучший способ состоит в том, чтобы записать Resque-связанным спецификациям в RSpec?

Что лучший способ состоит в том, чтобы записать Resque-связанным спецификациям в RSpec, не блокируя первого?

Мы в настоящее время используем следующего помощника:

@dir = File.dirname(File.expand_path(__FILE__))

def start_redis
  `redis-server #{@dir}/redis-test.conf`
  Resque.redis = "localhost:9736"
end

def stop_redis
  `rm -f #{@dir}/dump.rdb`
  pid = `ps -A -o pid,command | grep [r]edis-test`.split(" ")[0]
  Process.kill("KILL", pid.to_i)
end

Rspec.configure do |config|
  config.before(:suite) do
    start_redis
  end

  config.after(:suite) do
    stop_redis
  end

  config.before(:each) do
    Resque.redis.flushall
  end
end

В большой степени одалживая от собственного тестового помощника Resque, это хорошо работает, но извергает раздражение zsh: killed rake когда весь комплект спецификации выполняется через грабли.

8
задан Hakan Ensari 13 August 2010 в 09:42
поделиться