我正在用 Machinist 替换测试夹具。但是使用 Machinist 设置测试数据非常慢,因为每当运行测试方法时,Machinist 都会生成一些新数据并保存到数据库中。有什么方法可以将数据缓存在内存中,这样使用 Machinist 就不会那么慢了吗?
谢谢, 布莱恩
最佳答案
1) 如果您实际上不需要保存它,请尝试 SomeModel.make_unsaved。
2) 寻找创建对象的较轻版本的方法。也许您可以避免创建关联对象。例如: BlogComment.make(:gravatar => nil) # 避免创建头像 或者,如果您通常需要更轻的版本,您可以翻转它并让常规 BlogComment.make 创建轻型对象(无 gravatar),而 BlogComment.make(:with_gravatar) 将完成额外的工作。
3) 如果您没有专门针对该服务进行集成测试,请避免对 Web 服务(Google map 、S3 等)进行异地访问。使用 stub 来防止您正在测试的对象上的那些方法实际连接到外部服务。
关于ruby-on-rails - 在 Rails 中,如何加速机械师测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2451753/