Code Monkey home page Code Monkey logo

gherkin-lint's Introduction

gherkin-lint

Writing Gherkin is like cooking. Adding too many or wrong ingredients will ruin the taste.

Gherin-Lint finds common antipatterns in Gherkin and suggests solutions.

Perfection is Achieved Not When There Is Nothing More to Add, But When There Is Nothing Left to Take Away. --Antoine de Saint-Exupéry

Rules

  • Feature description
  • Rules section in description
  • No Emotions (Given I want...)
  • Single When steps
  • No When or Then in Background
  • No UI speak (click, etc)
  • No UI speak in Scenario Outline
  • No "or" in steps
  • Short scenarios (more than 5 steps)
  • Short sentences
  • Few scenarios in a Feature file
  • Use And (Given, Given)
  • Backwards (Given, When, Given)
  • Small DataTable (avoid incidental detail)
  • Small Examples table (avoid incidental detail)
  • Few arguments (many "xxx" pairs or numbers)
  • Few comments

Implementation

Gherkin-lint is a ruby library with a UNIX-like CLI:

gherkin-lint [file ...]

It prints out problems in machine-readable format.

gherkin-lint's People

Contributors

aslakhellesoy avatar

Stargazers

Andrei Mukamolau avatar  avatar Mrityunjeyan S avatar Jon Acker avatar Nick Abalov avatar Colin Wren avatar

Watchers

Matt Wynne avatar Julien Biezemans avatar James Cloos avatar Seb Rose avatar Cucumber Bot avatar

gherkin-lint's Issues

Outdated

This repository is pretty outdated and not maintained anymore.
How about replace it by https://github.com/funkwerk/gherkin_lint?
It's also in ruby and it implements nearly everything mentioned in README.md.

I would agree to delete it from funkwerk/gherkin_lint and publish it under cucumber-ltd.
Should I do a PR for it?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.