Skip to content
This repository has been archived by the owner on May 28, 2019. It is now read-only.

Tool Support

Ben Gura edited this page Aug 23, 2013 · 34 revisions

Several tools recognize Gherkin source (feature files) in a similar way to the Gherkin library itself.

With full i18n support

All of the tools below support all of the i18n translations of the Gherkin grammar.

Editors

Syntax highlighters

Cucumber “cousins”

Without full i18n support

These tools don’t (yet) support all of Gherkin’s 40 translations. (It would be easy for their maintainers to make them support it – see Tool Developers below).

Editors

Tool Developers

If you’re developing a tool that understands Gherkin, please make it i18n aware. This is easy if you generate the code that recognises Gherkin keywords. The gherkin Ruby Gem contains all the translations and makes them available via a simple API. Look at the code generators from some of the tools above for examples.

Basing your tool on code generation lets you easily update your tool when Gherkin gets a new language or a synonym is added to an existing one. All it takes is a little bit of Ruby/Rake and an Erb template that uses Gherkin::I18n.keyword_regexp to generate a Python, Java, C# or whatever file that is part of your tool.

Some tool developers have built-in handling of fragments like In order to, As a and I want. (This is a common narrative style for feature headers). We recommend that you do not try to recognize or highlight this. People should be free to choose the wording they want. Moreover, we don’t have translations of those fragments, and even if we did, this style is too prescriptive.

Clone this wiki locally