ruby-on-rails - 在 Rails 中,如何加速机械师测试?

标签 ruby-on-rails testing

我正在用 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/

相关文章:

ruby-on-rails - 附加到事件记录关系对象

ruby-on-rails - 有什么方法可以查看哪条路线与 Rails 中浏览器的请求相匹配?

Android InApp 计费测试

iis - 如何测试我的客户端程序将如何对 Web 服务器错误使用react?

typescript - 无法生成 Jest 覆盖率报告

ruby-on-rails - rspec 测试 Controller 后将我的参数从符号更改为字符串并破坏我的测试

sql - Rails 中多个 named_scope 的预加载计数

ruby-on-rails - 如何在 Rails 中获取 link_to 输出一个 SEO 友好的 url?

android - 如何从另一个 Android 应用程序运行 Android 测试项目

unit-testing - 如何在单元测试 Nest.js 中测试抛出新的 HttpException