我正在使用Resque处理我的后台任务。
我的模型如下:
现在为了同步测试,我已经添加了以下内容。
class SomeClass
...
repo = Repo.find(params[:repo_id])
Resque.enqueue(ReopCleaner, repo.id)
...
end
class RepoCleaner
@queue = :repo_cleaner
def self.perform(repo_id)
puts "this must get printed in console"
repo = Repo.find(repo_id)
# some more action here
end
end
现在为了同步测试,我已经添加了以下内容。
Resque.inline = Rails.env.test?
在我的config/initializers/resque.rb文件中
这个代码本来应该在测试环境下调用#perform方法并在Redis中排队,而且不会有任何Resque回调,因为Rails.env.test?在测试环境下返回true。
但是...
"this must get printed in console"
在测试时,这段文字不会打印出来,我的测试也失败了。
我错过了什么配置吗?目前我正在使用:
resque (1.17.1)
resque_spec (0.7.0)
resque_unit (0.4.0)