Gherkin at Scale: Need for Static Analysis / Language Server Support #2308
Replies: 3 comments
-
|
GitHub Copilot and other tools are available to detect unused step definitions. But as for the generic maintenance of files, this wouldn't be the purvey of cucumber it would be the responsibility elsewhere |
Beta Was this translation helpful? Give feedback.
-
|
Maybe you can create a custom rule for gherkin-lint and run the linter over these files. |
Beta Was this translation helpful? Give feedback.
-
All this is offered by https://github.com/cucumber/cucumber-eclipse
I already made a prototype of this but there is also https://github.com/cucumber/language-server So many things are possible, but usually blocked by the fact that there are many demands but little support for those "ERP company with 100,000+ customers". So if it is really important to your business, you should start funding cucumber here https://opencollective.com/cucumber and helping improving it (it is all open source)! Of course you can also hire someone (e.g. me) to do the work for you |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Gherkin at Scale: Need for Static Analysis / Language Server Support
Context
I work at an ERP company with 100,000+ customers. We heavily use Gherkin for BDD, and currently maintain 150,000+ lines of
.featurefiles.We rely on structured conventions where we track entities using keys:
Problem
At scale, Gherkin becomes hard to maintain due to lack of tooling:
Idea: Static Analysis / Gherkin Language Server
A tool that could:
1. Dependency-aware autocomplete
Detect that a step like:
depends on:
$company1$storagetype1$plant1and automatically suggest or insert missing setup steps.
2. Go to definition (F12 support)
Navigate directly to:
3. Background optimization
Detect unused setup data in
Backgroundsections and minimize execution scope.Example issue
Large backgrounds often include unnecessary data:
but a scenario may only require
$company1.A dependency-aware tool could reduce this automatically.
Questions
How common is structured, key-based Gherkin usage in large teams?
How do teams handle static analysis limitations for generic steps like:
Why this matters
At our scale (150k+ lines), better tooling could significantly improve:
Beta Was this translation helpful? Give feedback.
All reactions