{
  "id": 6902076,
  "title": "BDD Without Gherkin",
  "url": "https://urgent.news/2026/09/12/bdd-without-gherkin",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-12T09:23:52.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/paul-brooks/bdd-without-gherkin-558b"
  },
  "original_language": "en",
  "account": "For years, behavior-driven development (BDD) has been synonymous with the Gherkin file format. However, the source material explains that one can conduct BDD without using Gherkin. The tool was designed to allow non-developers to write scenarios in plain text, which could then be run without any code changes. This format is ideal for testers or analysts who open a repository, write .feature files, and run them. In practice, though, most teams write their scenarios in tickets using Given/When/Then, then copy these words into feature files and create step definitions to bind them. This process adds unnecessary duplication of effort.\n\nRenaming a method disrupts the .feature file, while rewording a step changes its match silently. Step definitions, which hold the actual logic, accumulate over time and are neither part of the specification nor the test. The report generated by Gherkin only shows whether the test passed or failed, but not what the system did during execution, such as the request made, messages exchanged between services, or the response received. The source material argues that while this approach was a reasonable solution in the past due to limited refactoring support and parsing test source at runtime, the current constraints have changed and the costs associated with maintaining separate feature files, step definitions, and code persist.\n\nThe article suggests generating the report directly from the test, which captures the request made, messages exchanged, and the response received. This approach eliminates the need for separate feature files and step definitions, reduces duplication, and provides a more readable output for product owners. The source discusses two options for implementing this approach on the JVM: Kotest's BehaviorSpec or JUnit with good method names, and Yatspec or Kensa, which read the test method itself and generate the report at runtime. Kensa links the report back to the ticket, allowing the analyst who wrote the Given/When/Then in Jira to see what the system actually did. This method uses only one artifact, ensuring that it stays in sync with the code.",
  "summary": "I've been writing acceptance tests in Given-When-Then since 2009 and I've never written a feature file by choice. So when someone asks whether you can do BDD without Gherkin, my answer is that I've never done it any other way. Cucumber has been the default for long enough that the two have merged in people's heads. They shouldn't have. BDD is a way of specifying behaviour. Gherkin is a file…",
  "key_points": [
    "BDD can be done without Gherkin format",
    "Test scenarios written in plain text (.feature files)",
    "Tool allows non-developers to write and run scenarios"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}