我把测试夹具换成了机械师。但是使用Machinist建立测试数据非常慢,因为每当运行测试方法时,Machinist都会生成一些新数据并保存到数据库中。有没有办法将数据缓存在内存中,这样使用Machinist就不会太慢?
谢谢,布莱恩
发布于 2010-04-20 11:10:05
1)如果您实际上不需要保存,可以尝试使用SomeModel.make_unsaved。
2)寻找创建对象的轻量级版本的方法。也许你可以避免创建相关的对象。例如: BlogComment.make(:gravatar => nil) #避免创建重力形象,或者如果你通常需要更轻的版本,你可以翻转过来,让常规的BlogComment.make创建轻对象(无重力形象),而BlogComment.make(:with_gravatar)会做额外的工作。
3)避免异地访问web服务(谷歌地图、S3等)如果您没有专门为该服务进行集成测试。使用存根可以防止正在测试的对象上的那些方法实际连接到外部服务。
https://stackoverflow.com/questions/2451753
复制相似问题