Ruby on rails 在Rails中,如何加快机械师测试?

Ruby on rails 在Rails中,如何加快机械师测试?,ruby-on-rails,testing,Ruby On Rails,Testing,我要用机械师替换测试夹具。但使用机械师设置测试数据非常缓慢,因为每当运行测试方法时,机械师都会生成一些新数据并保存到数据库中。有没有办法将数据缓存在内存中,这样使用Machinist就不会那么慢了 谢谢, Bryan1)试试某个模型。如果你实际上不需要保存它,就不要保存它 2) 寻找创建对象更轻版本的方法。也许可以避免创建关联的对象。例如: blogcoment.make(:gravatar=>nil)#避免创建gravatar映像 或者,如果您通常需要更轻的版本,您可以将其翻转过来,使用常规的

我要用机械师替换测试夹具。但使用机械师设置测试数据非常缓慢,因为每当运行测试方法时,机械师都会生成一些新数据并保存到数据库中。有没有办法将数据缓存在内存中,这样使用Machinist就不会那么慢了

谢谢, Bryan

1)试试某个模型。如果你实际上不需要保存它,就不要保存它

2) 寻找创建对象更轻版本的方法。也许可以避免创建关联的对象。例如: blogcoment.make(:gravatar=>nil)#避免创建gravatar映像 或者,如果您通常需要更轻的版本,您可以将其翻转过来,使用常规的blogcoment.make创建轻对象(无gravatar),而blogcoment.make(:with_gravatar)将完成额外的工作


3) 如果您没有专门为web服务进行集成测试,请避免对web服务(Google maps、S3等)进行异地访问。使用stubing可以防止正在测试的对象上的那些方法实际连接到外部服务。

谢谢。我终于谈到了事务测试。1) 这是一个好主意。但我想确保这些对象与数据库配合良好。2) 这在单元测试中效果很好。对于功能测试,我们通常需要设置所有相关的对象