Qual è il modo migliore per scrivere le specifiche relative a Resque in RSpec without stubbing the former?Qual è il modo migliore per scrivere le specifiche relative a Resque in RSpec?
Attualmente utilizziamo il seguente aiuto:
@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
fortemente prestito da suo aiutante il test di Resque, questo funziona bene, ma sputa fuori un fastidioso zsh: killed rake
quando l'intera suite specifica è gestito attraverso rake.
Che Stub Resque, che va bene per unit testing suppongo, ma io preferisco di esecuzione di un'istanza effettiva di Resque a scrivere test di integrazione più complessi. Sembra che avremo a che fare con quanto sopra per ora. –
@HakanEnsari, hai mai finito per fare qualcosa di diverso per le tue specifiche? Sono in procinto di scrivere un test che richiede l'integrazione di resque (usando resque_mailer) e sono perplesso. – Tass