RubyMine 2016.3 Help

Creating Step Definition

On this page:

Overview

After enabling Cucumber support, RubyMine creates common steps definitions in the webrat_steps.rb file; on generating a new feature, a dedicated step definition file is also created. However, if a .feature file refers to a non-existent step, RubyMine's code inspection recognizes and highlights such step, and provides an intention action that helps create missing step definition.

Creating step definition

To create a missing step definition

  1. While editing the .feature file, type a reference to a step definition. RubyMine highlights step as undefined, and gives detailed information at the tooltip:
    cucumberUndefinedStepInspection
  2. Press Alt+Enter to show the Create Step Definition intention action:
    cucumberCreateStepDefinition
  3. Select the target step definition file from the pop-up list:
    ruby_createUndefinedStep3.png

    You can either select one of the existing step definition files from the suggestion list, or create a new one.

    RubyMine creates a step definition stub in the specified location.

  4. In the selected step definition file that opens in the editor, enter the desired code.

    Note that the editor turns into the template editing mode and displays the first input field highlighted with the red frame.

    ruby_createUndefinedStep4.png

    Type step definition in this frame and press Enter or Tab to complete input and pass to the next input field, where you have to enter your source code. After completing input, the caret moves to the end of the suggested step definition, and the editor returns to the regular mode of operation.

Tips and tricks

  • While typing, use code completion Ctrl+Space after keywords. Note that you can narrow down the suggestion list by typing characters contained anywhere within a description. So doing, on top of the suggestion list there will be the variants that contain specified characters as prefixes, followed by the variants with the arbitrary occurrences of characters:
    ruby_cucumberCodeCompletion.png
  • You can find usages of a step definition. To do that, place the caret at the desired definition, and press Alt+F7. Refer to the section Finding Usages in Project for details.
  • RubyMine keeps an eye on the uniqueness of the step definitions. Step definitions with the same names are highlighted.
    /help/img/idea/2016.3/ruby_cucumber_duplicatedStepDefinition.png

See Also

Last modified: 22 March 2017