2012-01-04 69 views
1

为了测试rails/mongoid数据库模型到现在为止,我曾经有一个真正的模型,只有很少的数据(3..5),试图覆盖每一个真实的案例。用tdd/bdd在rails中测试mongoid模型的最佳方法是什么?

我已经用黄瓜测试外BDD,但我通常通过Rails.logger.info

但现在早期停止,使用rspec的很少,不含夹具和样机,prefearing真实案例以及打印与轨道记录的字段值我厌倦了这一点,当模型变得更加复杂时,这太令人难以置信。

用tdd/bdd在rails中测试mongoid模型的最佳方法是什么? 我可以从哪里开始?

回答

1

我之前没有使用过Mongoid,但是为什么测试这些模型与使用ActiveRecord的模型有什么不同呢?我个人依靠RSpec进行单元测试,它应该只测试模型的外部API(行为),不应该过多地依赖灯具或测试内部数据或私有方法。你也可以使用mocks &存根来避免在很多情况下DB持久化。

如果你的模型变得太复杂了,你可能需要考虑采用更多的面向对象的方法,并为不依赖于Mongoid的其他类提取一些逻辑。在这种情况下,您有很多选择,如果您有兴趣了解更多信息,我强烈建议您使用Refactoring Ruby

+0

感谢Beerlington,我会检查出来 – 2012-01-04 13:49:18

+0

WTF StackOverflow劫持我的链接与他们的亚马逊推荐无任何通知。 : - | – 2012-01-04 15:06:48

+0

是的,坏人......无论如何已经宣布:“所有在Trilogy网站上发布的亚马逊图书链接将自动被重写,以添加我们的会员链接”请参阅http://meta.stackexchange.com/questions/26964/auto-插入堆栈溢出附属关系到所有亚马逊书链接 – 2012-01-04 15:18:01

相关问题