Rails活动记录存根与数组

时间:2013-10-08 18:36:14

标签: ruby-on-rails rails-activerecord stub

我正在寻找一些允许我在存储器阵列中存根AR的宝石。

因此,所有发现都会起作用,但真正的数据库不会被触及。

请建议,

谢谢!

2 个答案:

答案 0 :(得分:1)

我真的怀疑有一个,因为关系代数对于模拟/存根来说不是一件容易的事。

如果您正在寻找更好地管理测试数据的方法,请查看不同的工厂宝石,例如factory_girlmachinist

但我想这是你追求的速度。在这种情况下,固体OO设计是你的朋友。 您可以构建一个允许您轻松模拟它们的抽象,因为您将在纯Ruby对象上调用自定义方法(而不是直接使用Rails ORM)。为了更好地理解这个概念,我建议您观看Sandi Metz presentations,但在您的特定情况下,您可能希望从 Repository pattern 开始,这是关于ruby实现的想法 - here

甚至还有一些Ruby gem为它提供了一些设施: https://github.com/fredwu/datamappify

作为一名专业软件开发人员仅仅6年我就不能去扮演一个超级聪明的家伙。但这已经过去了一年半,我已经在我的项目中加入了不同的OOD模式,我必须说我希望我的OOP路径可以从那些开始。

虽然我还没有在我的任何项目中使用过存储库模式,但我还是使用了其他项目,我很想尝试这个。坚固的设计需要时间,正确的做事需要时间,但随后它可以作为可维护的软件回报。问题是你准备好走这条路吗? :)

答案 1 :(得分:0)

你在内存中尝试了SQLite吗?例如在您的Rails应用中的config/database.yml中,您可以执行以下操作:

test:
  adapter: sqlite3
  encoding: utf8
  database: :memory:

如果您不需要读/写,还有NullDB,但情况可能并非如此。