在Rails中为一个TestCase切换DB-Connection

时间:2012-09-13 14:17:28

标签: ruby-on-rails oracle unit-testing

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

RuntimeError: executing in another thread

那就是测试用例代码:

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

def teardown
  Example.establish_connection(Rails.env)
end

测试db是sqlite和db我因为PLSQL函数而尝试用于测试用例是oracle。

1 个答案:

答案 0 :(得分:0)

看起来像是一种潜在的竞争条件。如果'oracle' ActiveRecord连接已存在于另一个线程中,则设置可能无法完成。

您是否尝试在'oracle'方法开始时明确关闭teardown连接?