我正在寻找一些可以让我在内存数组中存根 AR 的 gem。
所以,所有的发现都会起作用,但不会触及真正的数据库。
请指教,
谢谢!
我正在寻找一些可以让我在内存数组中存根 AR 的 gem。
所以,所有的发现都会起作用,但不会触及真正的数据库。
请指教,
谢谢!
我真的怀疑有一个,因为关系代数不是一件容易模拟/存根的事情。
如果您正在寻找一种更好地管理您的测试数据的方法,请查看不同的工厂 gem,例如factory_girl、machinist。
但我想这是你追求的速度。在这种情况下,可靠的 OO 设计是您的朋友。您可以构建一个允许您轻松模拟它们的抽象,因为您将在普通 Ruby 对象(而不是 Rails ORM 直接)上调用自定义方法。为了更好地理解这个概念,我建议观看Sandi Metz 演示文稿,但在您的特定情况下,您可能希望从Repository 模式开始,这是关于 ruby 实现的一个想法 -这里。
甚至还有一些 Ruby gem 提供了一些工具: https ://github.com/fredwu/datamappify
作为一个仅仅 6 年的专业软件开发人员,我不能去扮演一个超级聪明的人。但一年半以来,我一直在我的项目中加入不同的 OOD 模式,我必须说我希望我的 OOP 路径能从这些开始。
虽然我还没有在我的任何项目中使用存储库模式,但我使用了其他项目,我很想尝试一下。可靠的设计需要时间,做正确的事情需要时间,但它作为可维护的软件得到回报。问题是你准备好走这条路了吗?:)
您是否尝试过内存中的 SQLite?例如,config/database.yml
在你的 Rails 应用程序中,你会这样做:
test:
adapter: sqlite3
encoding: utf8
database: :memory:
如果您不需要读/写,还有NullDB ,但情况可能并非如此。