Ruby on rails Rails中一个测试用例的交换机DB连接

Ruby on rails Rails中一个测试用例的交换机DB连接,ruby-on-rails,oracle,unit-testing,Ruby On Rails,Oracle,Unit Testing,我尝试在设置和拆卸中切换一个测试用例的db连接。 但不知怎的,测试给了我这个信息: RuntimeError: executing in another thread 这就是测试用例代码: def setup Example.establish_connection(ActiveRecord::Base.configurations['oracle']) end def teardown Example.establish_connection(Rails.env) end 测试数

我尝试在设置和拆卸中切换一个测试用例的db连接。 但不知怎的,测试给了我这个信息:

RuntimeError: executing in another thread
这就是测试用例代码:

def setup
  Example.establish_connection(ActiveRecord::Base.configurations['oracle'])
end

def teardown
  Example.establish_connection(Rails.env)
end

测试数据库是sqlite,我尝试用于测试用例的数据库是oracle,因为有一个PLSQL函数。

在我看来,这是一个潜在的竞争条件。如果另一个线程中已存在
'oracle'
ActiveRecord
连接,则安装可能无法完成


您是否尝试过在
拆卸
方法开始时显式关闭
'oracle'
连接?

您是否使用任何线程/分叉的测试支持库来提高性能?我使用guard自动触发测试,但不使用spork。