Skip to content

dylanmoerland/step-definition-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  • Select a .feature file
  • Run the command Step Definition Generator: generate
    • ctrl + shift + h

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();
});

About

Atom plugin to transform feature files into step definitions

Resources

License

Stars

Watchers

Forks

Packages

No packages published