伪造没有数据库的活动记录模型

rm-*_*-rf 5 ruby testing gem activerecord

我觉得我得错过了一些东西.我正在编写一个ruby gem,它允许与活动记录交互作为其主要功能的补充.

在为它编写测试用例时,我需要能够指定虚拟活动记录模型来测试此功能.如果我能得到一个活动记录模型的实例,它不需要任何与db的连接,可能有关系,所有这些东西,但不需要我在数据库中设置表,这将是极好的.我对测试很陌生,除了测试之外,我还很新,但看起来我应该能够很容易地做到这一点,但我找不到任何东西.

谁能告诉我我错过了什么?我看过工厂,制造商,固定装置,所有那些似乎想要打到数据库.人们如何测试你需要AR对象的宝石只用于测试?

And*_*ite 9

听起来你需要NullDB:

NullDB是应用于ActiveRecord数据库适配器的Null对象模式.它是一个数据库后端,可将数据库交互转换为无操作.使用NullDB可以测试模型业务逻辑 - 包括after_save挂钩 - 而无需触及真实数据库.