在RSpec without stubbing the former中編寫Resque相關規格的最佳方式是什麼?在RSpec中編寫與Resque相關的規格的最佳方式是什麼?
我們目前使用下面的幫助:
@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
。
即存根Resque,這是很好的單元測試,我想,但我更喜歡跑Resque的實際實例編寫更復雜的集成測試。 似乎我們現在必須處理上述問題。 – 2010-08-14 03:31:36
@HakanEnsari,你有沒有最終爲你的規範做不同的事情?我正在編寫一個測試需要整合resque(使用resque_mailer),我很難過。 – Tass 2011-12-14 22:03:48