Posts [ 2 ]

Topic: View spec taking very long to run, only when other specs are also run

I've got one view test that runs in 0.09s if I run it by itself, or with other views tests. But if I run it in my whole test suite, it takes ~50s to run, about 500 times as long. Suggestions about where to start debugging would make me happy.

It's *really* tedious to try to debug, because I have to run the whole test suite to reproduce it, and that takes ~3 minutes each time.

I tried running it with the "-r profile" argument to ruby, but that crashes with a "bignum too large to convert to long" argument ... not just in this app, but in every rails app i've tested it.

When I run my whole spec suite with --format profile, I get this (look at the top example, /home/home):

$ spec --format profile spec
Top 10 slowest examples:
54.4276480 /home/home should succeed
0.5290320 DirectorySearch searching searching by photo should find the user with a photo
0.3528010 AccountsController responding to GET show should expose the requested person as @person
0.3491610 DirectorySearch searching searching by living should exclude people who have a row in PersonDeath
0.3223910 Admin::ArticleImagesController handling GET /admin/articles/1/article_images should render index template

When I run a smaller set, say just the view specs, the same spec is very fast (notice /home/home is now #4, with a very short time):

$spec --format profile spec/views
Top 10 slowest examples:
0.5811160 /accounts/edit should succeed
0.1479810 /membership_applications/new while logged in should have a form for the membership
0.1184210 /directory_searches/show should succeed
0.0954710 /home/home should succeed