繁体   English   中英

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

[英]Testing models with multiple database connections in Rails using ActiveRecord

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

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

那里有什么好的约定,黑客或插件吗?

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

显然因为Rails正在与来自两个不同模型的两个不同的数据库进行通信,所以您将无法在数据库之间进行连接,因此也无法在那里进行测试。

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

我发现在我的模型中包装我的遗留数据库时,我必须在代码中添加一些特殊的联系,使事情变得更加“Rails-y”,并使视图和控制器代码看起来像has_onebelongs_to类型代码。 我确实有运行这些自定义方法的测试。

希望有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM