[LRUG] Making your tests run fast enough?

Jonathan del Strother maillist at steelskies.com
Tue Jan 24 03:01:12 PST 2012


A small optimization that might help is to reduce the number of GC
runs.  We have fairly bloated tests, but something as simple as -

Rspec.configure do |config|
  counter=0
  GC.disable
  config.after(:each) {
    if (counter+=1) % 20 == 0
      GC.enable; GC.start; GC.disable
    end
  }
end

(ie just running GC every 20 specs) shaved 20 seconds off our 2 minute
test suite.  It is kinda a micro-optimization though - the idea of
decoupling rails from our tests is very appealing.


On 24 January 2012 10:07, Mark Burns <markthedeveloper at gmail.com> wrote:
> Preferring mocks over factories can help. Spork can help too by preloading
> the Rails environment.
> That's tended to be enough for me, although you can do distributed tests
> too.
>
> https://www.ruby-toolbox.com/categories/distributed_testing
>
> Also I presume you're not hitting the web, but if you are then VCR with
> WebMock is good
>
>
> On 24 January 2012 19:02, Jonathan <j.fantham at gmail.com> wrote:
>>
>> Mine are really slow, but yesterday Glenn made a suggestion of using a
>> ramdisk to speed the database access which seemed like a good idea! I
>> haven't had the opportunity to try it yet but I read into it and if
>> you're on *nix it seems pretty easy to do.
>>
>> On 24 January 2012 09:57, Joel Chippindale
>> <joel.chippindale at econsultancy.com> wrote:
>> > Test speed seems to be a perennial issue for our team.
>> >
>> > Currently running a single spec file in our rails (v3.0, running under
>> > REE)
>> > app takes about 20 seconds and running a single cucumber scenario 30+
>> > seconds. This is too slow for comfortable test driven
>> > development/design.
>> >
>> > We've recently started using the spec_no_rails pattern (as outlined by
>> > Corey
>> > Haines
>> > here http://www.confreaks.com/videos/641-gogaruco2011-fast-rails-tests)
>> > to
>> > avoid loading rails, in some of our specs. This has enabled us to run
>> > some
>> > of our specs in couple of seconds (i.e. fast enough). However this
>> > currently
>> > only applies to the small subset of our specs that we have isolated from
>> > rails. We'd like it if all our tests ran this fast.
>> >
>> > How fast are your tests/specs/cucumber? Are they fast enough for you? If
>> > they are, what have you done to make this so?
>> >
>> > J.
>> >
>> > --
>> > Joel Chippindale
>> > CTO - http://econsultancy.com
>> >
>> >
>> >
>> >
>> > _______________________________________________
>> > Chat mailing list
>> > Chat at lists.lrug.org
>> > http://lists.lrug.org/listinfo.cgi/chat-lrug.org
>> >
>> _______________________________________________
>> Chat mailing list
>> Chat at lists.lrug.org
>> http://lists.lrug.org/listinfo.cgi/chat-lrug.org
>
>
>
> _______________________________________________
> Chat mailing list
> Chat at lists.lrug.org
> http://lists.lrug.org/listinfo.cgi/chat-lrug.org
>



More information about the Chat mailing list