[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