我已经设置了一个查询从数据库而不是主数据库的 resque 后台作业。在我的 resque 类中,我添加了代码来建立与从属设备的连接,然后在方法结束时取消建立连接。我的问题是我将如何在 rspec 中测试查询是否在方法中命中特定数据库?下面的代码示例:
class ResqueJob
@queue = :resque_job
def self.perform(user_id)
ActiveRecord::Base.establish_connection(
:adapter => "mysql2",
:host => "slave_database.com",
:username => "test",
:database => "sample"
)
user = User.find_by_id(current_user_id)
#bunch of code in here
ActiveRecord::Base.clear_active_connections! # Disconnect from slave database
end
end