If you like fast CI builds, hate having to wait for an eternity for CI to complete a build after you open a PR, and love reducing infra costs, read on.
When you have 1000+ Cypress tests, for example, it takes time to run, plain and simple.
It’s one thing to claim that tests need time to run.
It’s an entirely different thing to claim that the time it takes to run tests is proportional to test coverage.
More often than not, you have massively expensive and naive test fixtures in place that act as performance boat anchors and are massive bottlenecks. Thousands of tests run instantly if each test takes around a few milliseconds to run. For perspective, the round trip of network request that crosses the world is around a couple of hundreds of milliseconds. A thousand of sequential requests takes only a couple of minutes. If each of your tests takes that long to run, your tests are fundamentally broken.
When you have 1000+ Cypress tests, for example, it takes time to run, plain and simple.
Now, if they were simple unit tests, sure, one could run thousands in a second or two, but they aren’t. Even headless, these just took time.
It’s one thing to claim that tests need time to run.
It’s an entirely different thing to claim that the time it takes to run tests is proportional to test coverage.
More often than not, you have massively expensive and naive test fixtures in place that act as performance boat anchors and are massive bottlenecks. Thousands of tests run instantly if each test takes around a few milliseconds to run. For perspective, the round trip of network request that crosses the world is around a couple of hundreds of milliseconds. A thousand of sequential requests takes only a couple of minutes. If each of your tests takes that long to run, your tests are fundamentally broken.
I agree 100%