JsGiven
A developer-friendly and pragmatic BDD tool for JavaScript.
Install / Use
/learn @jsGiven/JsGivenREADME
JsGiven
JsGiven aims to bring BDD (Behavior-Driven Development) to plain (or typed) JavaScript.
It is a developer-friendly and pragmatic BDD tool for JavaScript.
Developers write scenarios in plain JavaScript using a fluent, domain-specific API, JsGiven generates reports that are readable by domain experts.
It's a JavaScript port of JGiven (written in Java). JsGiven keeps the JGiven philosophy, concepts and uses its html5 reporting tool.
You can have a look at JSGiven's own report
scenarios('recipes', RecipesStage, ({ given, when, then }) => ({
a_pancake_can_be_fried_out_of_an_egg_milk_and_flour: scenario({}, () => {
given()
.an_egg()
.and()
.some_milk()
.and()
.the_ingredient('flour');
when()
.the_cook_mangles_everything_to_a_dough()
.and()
.the_cook_fries_the_dough_in_a_pan();
then().the_resulting_meal_is_a_pan_cake();
}),
}));
It can be used with any javascript test runner (like Jest, Ava, Mocha, Jasmine, or Protractor).
It can be used with your favorite assertion library (like ChaiJS, Jasmine), or your framework's assertion library.
It aims to provide the most comfortable developer experience with ES6 class syntax, and optional FlowType or TypeScript typings.
Some features are missing, but the folks at https://www.fluo.com are already using it daily.
Don't hesitate to give any feedback and to open a GitHub issue https://github.com/jsGiven/jsGiven/issues
Getting started
You can start using JsGiven with the user guide https://jsgiven.org/user-guide.html Don't hesitate to give any feedback and to open a GitHub issue https://github.com/jsGiven/jsGiven/issues
Related Skills
gh-issues
342.5kFetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
node-connect
342.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
85.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Writing Hookify Rules
85.3kThis skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
