Cucumber has an output format that prints step definitions only. You can use this to find unused ones:
- Temporarily add
require_relative 'env'
to the top of the first file in features/support.--dry-run
makes Cucumber skip loadingenv.rb
. - Open a really wide terminal window.
bundle exec cucumber --dry-run --format stepdefs | grep -B1 'NOT MATCHED' --no-group-separator | grep features/step_definitions
This will print all unused step definitions from your project – however, the result will include false positives. Steps that are exclusively called from other steps will be in the list. Assure a step is not used before removing it.
If you remove the --dry-run
flag, all tests will actually run and you can skip adding the require_relative
line. It will take much longer, but provide more accurate results.
Posted by Dominik Schöler to makandra dev (2018-11-28 13:55)