我想分享我的发现并听取其他人关于成功和失败的注意事项,以减少Rails应用程序集成测试的执行时间(无论是'普通'测试,基于Cucumber还是RSpec)。
问题意味着测试涉及数据库,视图呈现以及JavaScript / AJAX。 E.I.测试不要存根/模拟应用程序的慢速部分。
答案 0 :(得分:1)
作者的回答。 我尝试了两件事:spork插件和内存数据库。我的开发配置:Ubuntu VirtualBox托管在Win7,Ruby 1.8.7,Rails 3,SQLite上。
Spork插件将测试的启动时间从35秒减少到2秒。我总结了here步骤,但它们在github readme中描述得足够好。 This post还介绍了如何将其与Guard一起使用,以确保spork服务器在文件更改时重新启动。
我尝试使用in-memory database来减少执行时间。在某些情况下,它们会将执行时间缩短10%,但启动时间需要2秒才能创建架构。结果更多,然后我可以观察到改善。所以我自己决定改进是不值得的。
我也used RVM用 1.9.2 取代Ruby 1.8.7。它将执行时间从58秒减少到42秒。
结论:Spork并用1.9.2替换1.8.7可以显着提高您的TDD体验。