step-definition-generator

Generate step definitions from feature files.

dmoerland95

369

0

1.3.0

MIT

GitHub

Step definition generator

Automatically generate your step definitions from feature files for cypress-cucumber-preprocessor.

Getting started

Install step-definition-generator from "Install" in Atom's settings or run: $ apm install step-definition-generator

How to use

This will create corresponding step definitions for this feature file in a relative path ./{FileName}/{FileName.js}, containing all the definitions for the steps of this feature.

When the file already exists you'll be prompted to overwrite the current file.

Settings

There are several settings you can change, go to preferences->packages->step-definition-generator to change them.

Pending Method

You can control which method will be generated for each step automatically. cy.pending() by default.

Use Single Quotes In Features

When using variables in your feature files, they will be added to the step definitions. By default "" are used to recognise variables, when setting this setting to true it will use '' instead.

Examples

Login.feature

Feature: Login user
  As a visitor I want to sign in, so I can access the rest of the platform

  Scenario: Unsuccessful login attempt
    Given I am on the "login" page
    When I enter wrong credentials
    Then I should see a notification saying wrong credentials
    And The password field should be cleared
    And I should be on the login page

  Scenario: Successful login attempt
    Given I am on the "login" page
    When I enter correct credentials
    Then I should see a notification saying welcome
    And I should be on the success page

Generated: Login/Login.js

import { Given, When, Then } from 'cypress-cucumber-preprocessor/steps';

Given('I am on the {a} page', (a) => {
  cy.pending();
});

When('I enter wrong credentials', () => {
  cy.pending();
});

When('I enter correct credentials', () => {
  cy.pending();
});

Then('I should see a notification saying wrong credentials', () => {
  cy.pending();
});

Then('The password field should be cleared', () => {
  cy.pending();
});

Then('I should be on the login page', () => {
  cy.pending();
});

Then('I should see a notification saying welcome', () => {
  cy.pending();
});

Then('I should be on the success page', () => {
  cy.pending();
});