FREEDOM251

Freedom251 › BDD Testing Tools

Yadda

Free plan

Visit Yadda Alternatives

Yadda's own site

What Yadda is

Yadda is a free JavaScript BDD library that maps ordinary-language steps in feature specifications to executable functions. Teams can write specifications as GitHub-flavoured Markdown and run the mapped steps through node:test, Mocha, or Jasmine. Yadda supplies integrations for those runners but is not a test runner or test framework itself. Step functions may be synchronous, callback-based asynchronous, or promise-based. Dictionaries support reusable terms, parameter conversion, and values sourced from a remote system. Built-in localisation covers multiple languages, and steps do not need to use Given, When, and Then wording. Step libraries can be selected dynamically for each scenario, allowing the same phrase to have different meanings in different contexts. The project describes Yadda as having zero dependencies and uses the ISC License. Version 3.0 runs only in Node.js and requires Node.js 20 or later; browser bundles were removed. Yadda runs locally, with examples involving Puppeteer and Playwright, while API access is listed.

Who it suits

It suits JavaScript teams that want BDD-style step mapping while retaining node:test, Mocha, or Jasmine. It is also relevant to teams needing multilingual steps or scenario-specific step libraries.

What it does well

  • Maps plain-language steps to executable code
  • Works with node:test, Mocha, and Jasmine
  • Supports synchronous, callback, and promise steps
  • Includes dictionaries and multilingual localisation
  • Described as having zero dependencies

What to know first

  • Requires Node.js 20 or later in version 3.0
  • Does not include its own test runner
  • Browser bundles were removed

Verdict

Yadda adds flexible language-to-code mapping around existing JavaScript test runners. Its dictionaries, localisation, and dynamic step libraries support varied BDD workflows, but current version 3.0 is Node-only.

Facts from Yadda's own pages

Additional browser tooling
Examples include Puppeteer and Playwright setups, while Yadda itself runs in Node.js. · github.com, 8 Oct 2026
Dependencies
The project describes Yadda as having zero dependencies. · github.com, 8 Oct 2026
Dictionaries
Dictionaries provide reusable terms and can convert or source step parameters, including values from remote systems. · github.com, 8 Oct 2026
Feature files
Specifications can be written as GitHub-flavoured Markdown feature files. · github.com, 8 Oct 2026
Integrations
Yadda provides plugins for Node.js node:test, Mocha and Jasmine. · github.com, 8 Oct 2026
Intended users
Yadda is aimed at JavaScript teams who want BDD step mapping while keeping their existing test runner. · github.com, 8 Oct 2026
Languages
Yadda supports localisation for many languages, and its steps do not have to follow Given/When/Then wording. · github.com, 8 Oct 2026
Language support
Localisation is built in for multiple languages. · github.com, 8 Oct 2026
License
The repository is licensed under the ISC License. · github.com, 8 Oct 2026
Purpose
Yadda is a JavaScript BDD library that maps ordinary-language steps to executable code. · github.com, 8 Oct 2026
Removed integrations
Yadda 3.0 removed Bower, Component, Karma and PhantomJS support, along with nightwatch, qunit and nodeunit examples. · github.com, 8 Oct 2026
Runtime requirement
Yadda 3.0 requires Node.js 20 or later and is Node-only; in-browser support was removed. · github.com, 8 Oct 2026
Step handling
Step functions can be synchronous, callback-based asynchronous, or promise-based. · github.com, 8 Oct 2026
Step libraries
Step libraries can be selected dynamically per scenario, allowing the same phrase to have different meanings in different contexts. · github.com, 8 Oct 2026
Test runner role
Yadda is not a test runner or test framework; it maps lines of text to function calls and plugs into an existing runner. · github.com, 8 Oct 2026
Test runners
It integrates with node:test, Mocha, and Jasmine, and does not provide its own test runner. · github.com, 8 Oct 2026

Where Yadda stands on Freedom251

Look at these too