我正在用机械师替换测试夹具。但是使用Machinist设置测试数据非常慢,因为无论何时运行测试方法,Machinist都会生成一些新数据并保存到数据库中。有没有办法将数据缓存在内存中,以便使用Machinist不是那么慢?
谢谢, 布赖恩
答案 0 :(得分:1)
1)如果您实际上不需要保存,请尝试SomeModel.make_unsaved。
2)寻找创建较轻版本对象的方法。也许你可以避免创建相关的对象。例如: BlogComment.make(:gravatar => nil)#避免创建gravatar图像 或者,如果你通常需要更轻的版本,你可以翻转它,让常规的BlogComment.make创建轻量级对象(没有gravatar),而BlogComment.make(:with_gravatar)可以做额外的工作。
3)如果您没有专门针对该服务进行集成测试,请避免异地点击Web服务(Google地图,S3等)。使用存根来防止您正在测试的对象上的那些方法实际连接到外部服务。