Skip to content

Conversation

@cwalther
Copy link
Contributor

As I suspected yesterday, it seems like the tests can actually be sped up massively by avoiding hardcoded wait times: Puppeteer allows us to wait for the specific element we want to check instead of waiting for a fixed time and hoping it will be there by then. I’m not sure if there was a reason for doing it this way, but replacing the waits seems to work well for me.

This reduces the total testing time from 26s to 7s for me.

The commit is stacked on #78 because only that allowed me to get meaningful figures, but is independent and could be rebased if desired for a neater branching layout.

Running jest runs the two test suites in parallel. If both try to run a server on port 3000, only one of them will succeed and supply files for both, however when that suite finishes first, it will take down the server and leave the other one hanging. Fix this by running the servers on different ports.
Puppeteer allows us to wait for the specific element we want to check instead of waiting for a fixed time and hoping it will be there by then.

This reduces the total testing time from 26s to 7s for me.
@yanick
Copy link
Collaborator

yanick commented Sep 24, 2019

I’m not sure if there was a reason for doing it this way

No wise hidden motives there. If I recall correctly, I was trying different end-to-end testing frameworks (first Nightwatch, then the jest + puppeter combo), and didn't get around to optimize the tests. This speedup by a factor of 9 is... very welcome. :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants