On the app I'm working on at the moment the tests used to take more than 40 minutes to pass on my machine, and after a week of experimenting with different techniques we went down to 8 minutes in normal mode and around 4 minutes using parallel tests.<div>

<br></div><div>If has been a combination of:</div><div><br></div><div>Fast_context in shoulda</div><div>Mocking/Stubbing all the non used after_save that are time consuming</div><div>Created a skip_mock helper when you need that will skip those after save based on Models</div>

<div>Implementing idea found around here <a href="http://37signals.com/svn/posts/2742-the-road-to-faster-tests">http://37signals.com/svn/posts/2742-the-road-to-faster-tests</a></div><div>And one of the most convenient way to find slower tests was to look at generated diagrams with <a href="https://github.com/tmm1/perftools.rb">https://github.com/tmm1/perftools.rb</a></div>

<div><br></div><div>Once all this was done we went from near 40minutes to sub 10 minutes, then we've investigate in parallel tests <a href="https://github.com/grosser/parallel_tests">https://github.com/grosser/parallel_tests</a></div>

<div><br></div><div>And it's now a pleasure to pass the tests :)</div><div><br></div><div>my 2 cents </div><div>--<br>Nicolas Alpi, web developer, cookies eater<br><a href="http://www.wealsodocookies.com" target="_blank">http://www.wealsodocookies.com</a><br>


<br><br><div class="gmail_quote">On Tue, Jan 24, 2012 at 11:04 AM, Ian Leitch <span dir="ltr"><<a href="mailto:port001@gmail.com">port001@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Also, for anyone using 1.9.3, this patch gave me a 44% (!!!)<br>
improvement in loading my environment.<br>
<br>
<a href="https://gist.github.com/1658360" target="_blank">https://gist.github.com/1658360</a><br>
<div class="HOEnZb"><div class="h5"><br>
On 24 January 2012 11:03, Andrew Stewart <<a href="mailto:boss@airbladesoftware.com">boss@airbladesoftware.com</a>> wrote:<br>
><br>
> On 24 Jan 2012, at 12:01, Jonathan del Strother wrote:<br>
><br>
>> It is kinda a micro-optimization though - the idea of<br>
>> decoupling rails from our tests is very appealing.<br>
><br>
> Here are three more micro-optimisations which might help a little (though not a lot):<br>
><br>
> <a href="http://blog.plataformatec.com.br/2011/12/three-tips-to-improve-the-performance-of-your-test-suite" target="_blank">http://blog.plataformatec.com.br/2011/12/three-tips-to-improve-the-performance-of-your-test-suite</a><br>


><br>
> Cheers,<br>
> Andy<br>
> -------<br>
> <a href="http://airbladesoftware.com" target="_blank">http://airbladesoftware.com</a><br>
><br>
><br>
> _______________________________________________<br>
> Chat mailing list<br>
> <a href="mailto:Chat@lists.lrug.org">Chat@lists.lrug.org</a><br>
> <a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" target="_blank">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><br>
_______________________________________________<br>
Chat mailing list<br>
<a href="mailto:Chat@lists.lrug.org">Chat@lists.lrug.org</a><br>
<a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" target="_blank">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><br>
</div></div></blockquote></div><br></div>