{"id":15017381,"url":"https://github.com/jsgiven/jsgiven","last_synced_at":"2025-04-09T21:15:12.146Z","repository":{"id":8261503,"uuid":"57435934","full_name":"jsGiven/jsGiven","owner":"jsGiven","description":"A developer-friendly and pragmatic BDD tool for JavaScript.","archived":false,"fork":false,"pushed_at":"2024-11-20T10:35:31.000Z","size":6264,"stargazers_count":35,"open_issues_count":58,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-09T21:15:06.503Z","etag":null,"topics":["ava","bdd","cucumber","gherkin","given","given-when-then","jasmine","jest","jgiven","living-documentation","mocha","protractor","testing","then","when"],"latest_commit_sha":null,"homepage":"https://jsgiven.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jsGiven.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-30T09:41:27.000Z","updated_at":"2023-12-19T17:38:52.000Z","dependencies_parsed_at":"2024-01-14T20:18:06.332Z","dependency_job_id":"c6d1d755-a96f-4844-9e44-3edf5241edb9","html_url":"https://github.com/jsGiven/jsGiven","commit_stats":{"total_commits":1126,"total_committers":6,"mean_commits":"187.66666666666666","dds":"0.41829484902309055","last_synced_commit":"d84911b9c33b5ff0e3ffafa78fd6ebc7d76c9d55"},"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsGiven%2FjsGiven","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsGiven%2FjsGiven/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsGiven%2FjsGiven/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsGiven%2FjsGiven/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jsGiven","download_url":"https://codeload.github.com/jsGiven/jsGiven/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248111971,"owners_count":21049578,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ava","bdd","cucumber","gherkin","given","given-when-then","jasmine","jest","jgiven","living-documentation","mocha","protractor","testing","then","when"],"created_at":"2024-09-24T19:50:23.091Z","updated_at":"2025-04-09T21:15:12.126Z","avatar_url":"https://github.com/jsGiven.png","language":"JavaScript","readme":"# [JsGiven](https://jsgiven.org)\n\n[![Build Status](https://travis-ci.org/jsGiven/jsGiven.svg?branch=master)](https://travis-ci.org/jsGiven/jsGiven)\n[![Coverage Status](https://coveralls.io/repos/github/jsGiven/jsGiven/badge.svg?branch=master)](https://coveralls.io/github/jsGiven/jsGiven?branch=master)\n[![Code Climate](https://codeclimate.com/github/jsGiven/jsGiven/badges/gpa.svg)](https://codeclimate.com/github/jsGiven/jsGiven)\n[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/jsGiven/jsGiven/master/LICENSE)\n[![npm version](https://badge.fury.io/js/js-given.svg)](https://badge.fury.io/js/js-given)\n![Quality](https://img.shields.io/badge/quality-beta-orange.svg)\n\nJsGiven aims to bring BDD (Behavior-Driven Development) to plain (or typed) JavaScript.\n\nIt is a developer-friendly and pragmatic BDD tool for JavaScript.\n\nDevelopers write scenarios in plain JavaScript using a fluent, domain-specific API, JsGiven generates reports that are readable by domain experts.\n\nIt's a JavaScript port of [JGiven](http://jgiven.org) (written in Java).\nJsGiven keeps the JGiven philosophy, concepts and uses its html5 reporting tool.\n\nYou can have a look at [JSGiven's own report](https://jsgiven.org/jsgiven-report/)\n\n```javascript\nscenarios('recipes', RecipesStage, ({ given, when, then }) =\u003e ({\n  a_pancake_can_be_fried_out_of_an_egg_milk_and_flour: scenario({}, () =\u003e {\n    given()\n      .an_egg()\n      .and()\n      .some_milk()\n      .and()\n      .the_ingredient('flour');\n\n    when()\n      .the_cook_mangles_everything_to_a_dough()\n      .and()\n      .the_cook_fries_the_dough_in_a_pan();\n\n    then().the_resulting_meal_is_a_pan_cake();\n  }),\n}));\n```\n\nIt can be used with any javascript test runner (like Jest, Ava, Mocha, Jasmine, or Protractor).\n\nIt can be used with your favorite assertion library (like ChaiJS, Jasmine), or your framework's assertion library.\n\nIt aims to provide the most comfortable developer experience with ES6 class syntax, and optional FlowType or TypeScript typings.\n\nSome features are missing, but the folks at https://www.fluo.com are already using it daily.\n\nDon't hesitate to give any feedback and to open a GitHub issue https://github.com/jsGiven/jsGiven/issues\n\n## Getting started\n\nYou can start using JsGiven with the user guide https://jsgiven.org/user-guide.html\nDon't hesitate to give any feedback and to open a GitHub issue https://github.com/jsGiven/jsGiven/issues\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsgiven%2Fjsgiven","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjsgiven%2Fjsgiven","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsgiven%2Fjsgiven/lists"}