0

我正在寻找一些可以让我在内存数组中存根 AR 的 gem。

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

请指教,

谢谢!

4

2 回答 2

1

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

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

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

甚至还有一些 Ruby gem 提供了一些工具: https ://github.com/fredwu/datamappify

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

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

于 2013-10-08T19:04:59.333 回答
0

您是否尝试过内存中的 SQLite?例如,config/database.yml在你的 Rails 应用程序中,你会这样做:

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

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

于 2013-10-08T19:22:38.283 回答