ruby-on-rails - 使用 ActiveRecord 在 Rails 中测试具有多个数据库连接的模型

标签 ruby-on-rails ruby testing activerecord database-connection

在 Rails 中测试使用不同数据库连接的模型的最佳方法是什么。例如,我有一个只读模型 FooBar:

class FooBar < ActiveRecord::Base
  establish_connection configurations['foo_bars']
  # ...
end

有什么好的约定、技巧或插件吗?

最佳答案

根据我的经验,一旦建立连接,您就可以像对待任何其他模型一样对待该模型。由于您只是在使用数据,这将简化一些测试,因为您不需要测试数据验证。

很明显,因为 Rails 正在与来自两个不同模型的两个不同数据库对话,您将无法在数据库之间进行连接,因此也没有什么可测试的。

那么,回答这个问题:测试使用第二个数据库的模型的最佳方法是什么?我会说,如果它是您唯一的数据库,您将采用完全相同的方式对其进行测试。

我发现在包装遗留数据库的模型中,我必须在代码中添加一些特殊的联系,使事情变得更“Rails-y”,并使 View 和 Controller 代码看起来像有 has_onebelongs_to 在那里输入代码。我确实有使用这些自定义方法的测试。

希望对您有所帮助。

关于ruby-on-rails - 使用 ActiveRecord 在 Rails 中测试具有多个数据库连接的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/749477/

相关文章:

c++ - 如何为依赖操作系统的类编写测试

ruby-on-rails - Ruby on Rails :How to translate options of select tag?

ruby-on-rails - 为什么 alias_method 在 Rails 模型中失败

ruby-on-rails - rake 测试运行失败,因为无法加载 'guard'

ruby - 浮点正则表达式?

ruby - 在 Ruby 中使用 SecureRandom 生成长度为 6 的随机数

Ruby:如何使用 ']' 逃离正则表达式

ruby-on-rails - 如何使用 Ruby 1.9 在 Rails 中使用美式日期?

java - Robolectric 和 Mockito 监视 Android Activity

testing - 在 groovy(Spock) 中测试文件结构