You can run cucumber-js in "Dry Run" mode:
- In a configuration file
{ dryRun: true }
- On the CLI
cucumber-js --dry-run
The effect is that Cucumber will still do all the aggregation work of looking at your feature files, loading your support code etc but without actually executing the tests. Specifically:
- No hooks are executed
- Steps are reported as "skipped" instead of being executed
- Undefined and ambiguous steps are reported, but don't cause the process to fail
A few examples where this is useful:
- Finding unused step definitions with the usage formatter
- Generating snippets for all undefined steps with the snippets formatter
- Checking if your path, tag expression etc matches the scenarios you expect it to