3

我想分享我的发现并听取其他人关于成功和失败的尝试,以减少Rails应用程序集成测试的执行时间(无论是“普通”测试,基于Cucumber或RSpec的测试) 。Rails集成测试:减少执行时间

这个问题意味着测试涉及数据库,视图渲染和JavaScript/AJAX。 E.I.测试不要存根/模拟应用程序的缓慢部分。

回答

1

作者的回答。 我尝试了两件事:spork插件和内存数据库。我的开发配置:Win7,Ruby 1.8.7,Rails 3,SQLite托管的Ubuntu VirtualBox。

Spork插件减少了我的测试从35秒到2秒的启动时间。我总结了here步骤,但它们在github自述文件中描述的足够好。 This post还介绍了如何将其与Guard一起使用,以确保在文件更改时重新启动spork服务器。

我试着用in-memory database来减少执行时间。它们在某些情况下将执行时间缩短了10%,但在启动时创建模式需要2秒的时间。结果非常多,我可以观察到改善。所以我决定改善是不值得的。

另外我用used RVM替换Ruby 1.8.7用1.9.2。它将执行时间从58秒缩短到42秒。

结论:Spork和用1.9.2替换1.8.7可以显着提高您的TDD体验。