在 Rails 中测试使用不同数据库连接的模型的最佳方法是什么。例如,我有一个只读模型 FooBar:
class FooBar < ActiveRecord::Base
establish_connection configurations['foo_bars']
# ...
end
有什么好的约定、技巧或插件吗?
最佳答案
根据我的经验,一旦建立连接,您就可以像对待任何其他模型一样对待该模型。由于您只是在使用数据,这将简化一些测试,因为您不需要测试数据验证。
很明显,因为 Rails 正在与来自两个不同模型的两个不同数据库对话,您将无法在数据库之间进行连接,因此也没有什么可测试的。
那么,回答这个问题:测试使用第二个数据库的模型的最佳方法是什么?我会说,如果它是您唯一的数据库,您将采用完全相同的方式对其进行测试。
我发现在包装遗留数据库的模型中,我必须在代码中添加一些特殊的联系,使事情变得更“Rails-y”,并使 View 和 Controller 代码看起来像有 has_one
和 belongs_to
在那里输入代码。我确实有使用这些自定义方法的测试。
希望对您有所帮助。
关于ruby-on-rails - 使用 ActiveRecord 在 Rails 中测试具有多个数据库连接的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/749477/