Check Out Our Experimental Release of Run All Specs

January 12, 2023

By Jessamyn Sweet

In case you missed it, we recently brought back the ability for users to run all specs and run a filtered subset of specs. This feature was a staple of many Cypress developers’ workflows, allowing them to quickly run through all of the specs that might have been affected by a code change or run their entire test suite at once while in open mode.

When we released Cypress 10, we removed this feature because it did not meet the standards of stability and determinism that cypress run offers. However, we learned from our community feedback that users still found great value in the Run All specs feature despite its imperfections. Due to popular demand, Run All Specs is back!

Run All Specs is an experimental feature — we are actively working on improving it based on user feedback. Like all experiments, you can try it out by setting a configuration option. To use Run All Specs, set experimentalRunAllSpecs to true in your project’s cypress.config file, under the e2e section.

After executing npx cypress open and selecting your preferred browser, the specs list will now have the Run {n} specs button when hovering over a directory. The number of specs to run will be dependent on the current search filter, allowing the user to more precisely filter what specs they would like to run.

This feature is also available on the specs list inside the Test Runner, where hovering over the directories will display a “play” button that can be used to trigger a new set of specs to run.

Important Things to Note

At the time of this post, Run All Specs only works with End-to-End Testing. Component Testing may be supported in a future update.

Before we can move this feature out of the experimental stage, there are still several issues that we will need to solve. To learn more about the current limitations and future improvements of the Run All Specs feature, see the Github Discussion. Our team is working towards an official GA release that incorporates these changes and officially supports this behavior without trade offs or downsides.

Wrapping Up

For a complete list of updates in Cypress, please review our changelog. If these features are helpful, or if you have other ideas or feedback, let us know on Github.