Hi everyone,
I am currently conducting research on Behavior-Driven Development (BDD) frameworks and would love to get your insights and recommendations!
We all know the traditional BDD approach usually involves writing separate .feature text files using Gherkin syntax (like Cucumber or SpecFlow) and then mapping them to step definitions.
However, I am particularly interested in code-first, plain-text BDD libraries. These frameworks allow developers and testers to write scenarios directly in programming languages using fluent APIs or custom DSLs. They completely skip the Gherkin translation layer while still generating highly readable, human-friendly text reports for non-technical stakeholders.
Two great examples of this approach are:
- JGiven (for Java) – which uses standard Java methods and @ScenarioState to chain given/when/then steps.
- Guara – which follows a similar philosophy for the Python ecosystem.
Are you using or have you ever used similar libraries in your projects?
If you use a framework that lets you write BDD scenarios directly in code without separate Gherkin files, please drop the name and the language it supports in the comments below! I would love to expand my research list with tools that are actually being used out in the wild.
Looking forward to hearing about your tool stacks!