{"id":15759327,"url":"https://github.com/ch1ago/bdd","last_synced_at":"2025-10-05T19:56:10.365Z","repository":{"id":32215343,"uuid":"35789211","full_name":"ch1ago/bdd","owner":"ch1ago","description":"Given/When/Then/And/But output to RSpec and Minitest","archived":false,"fork":false,"pushed_at":"2020-09-09T19:35:49.000Z","size":249,"stargazers_count":35,"open_issues_count":0,"forks_count":4,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-09-22T19:25:21.590Z","etag":null,"topics":["bdd","minitest","rspec","ruby","tests","user-stories"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/ch1ago.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-18T00:46:23.000Z","updated_at":"2024-03-15T13:36:24.000Z","dependencies_parsed_at":"2022-06-26T18:33:11.827Z","dependency_job_id":null,"html_url":"https://github.com/ch1ago/bdd","commit_stats":null,"previous_names":["thejamespinto/bdd","thiagopintodev/bdd","ch1ago/bdd","th1agoalmeida/bdd"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ch1ago/bdd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ch1ago%2Fbdd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ch1ago%2Fbdd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ch1ago%2Fbdd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ch1ago%2Fbdd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ch1ago","download_url":"https://codeload.github.com/ch1ago/bdd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ch1ago%2Fbdd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278510918,"owners_count":25998997,"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","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bdd","minitest","rspec","ruby","tests","user-stories"],"created_at":"2024-10-04T10:04:46.146Z","updated_at":"2025-10-05T19:56:10.341Z","avatar_url":"https://github.com/ch1ago.png","language":"Ruby","readme":"# Bdd\n\nBdd is a **User Story Framework**. Add Acceptance Criteria documentation directly on your Ruby Tests.\n\n\n## Status\n\n| Is It Working? | Is It Tested? | Code Quality | **# of Downloads** |  **Get Involved!** |\n|:---|:---|:---|:---|:---|\n| [![Master Build Status](https://api.travis-ci.org/thejamespinto/bdd.svg?branch=master)](https://travis-ci.org/thejamespinto/bdd) | [![Code Climate](https://codeclimate.com/github/thejamespinto/bdd/coverage.svg)](https://codeclimate.com/github/thejamespinto/bdd) | [![Code Climate](https://codeclimate.com/github/thejamespinto/bdd.svg)](https://codeclimate.com/github/thejamespinto/bdd) | [![Downloads](http://img.shields.io/gem/dt/bdd.svg)](https://rubygems.org/gems/bdd) | [![GitHub Issues](https://img.shields.io/github/issues/thejamespinto/bdd.svg)](https://github.com/thejamespinto/bdd/issues) |\n\n\n## Compatibility\n\n\u003cimage width=16 src='./images/ruby.png'\u003e Ruby 2.0 through 2.7\n\n## Pitch\n\n\u003cpre\u003e\nThis gem provides the same benefits as gem \u003cb\u003eCucumber\u003c/b\u003e, and it's easier to use in projects.\n\nWorks with all ruby test frameworks (RSpec and Minitest).\nWorks with all test types (Capybara, units, features, etc).\n\n\n1. Take your User Stories.\n\n2. Write them as unobtrusive commentary in your test code.\n\n3. Run your tests.\n\n4. You'll see all your User Stories neatly organized in the output.\n\n5. If your code breaks, that line will be highlighted in red.\n\u003c/pre\u003e\n\n[Read more about User Stories on Wikipedia](https://en.wikipedia.org/wiki/User_story).\n\n\n\n\n\n\n\n## Example\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd style=\"vertical-align: top\"\u003e\n      \u003ccenter\u003e\u003cstrong\u003e1. BEFORE\u003c/strong\u003e\u003c/center\u003e\n      \u003cp\u003e\u003cimg alt='Before' src='https://github.com/thejamespinto/bdd/raw/v1/images/before.png'/\u003e\u003c/p\u003e\n    \u003c/td\u003e\n    \u003ctd style=\"vertical-align: top\"\u003e\n      \u003ccenter\u003e\u003cstrong\u003e2. AFTER\u003c/strong\u003e\u003c/center\u003e\n      \u003cp\u003e\u003cimg alt='After' src='https://github.com/thejamespinto/bdd/raw/v1/images/after.png'/\u003e\u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr style=\"background: white\"\u003e\n    \u003ctd style=\"vertical-align: top\"\u003e\n      \u003ccenter\u003e\u003cstrong\u003e3. RUN TESTS\u003c/strong\u003e\u003c/center\u003e\n      \u003cp\u003e\u003cimg alt='Run Tests' src='https://github.com/thejamespinto/bdd/raw/v1/images/run.png'/\u003e\u003c/p\u003e\n    \u003c/td\u003e\n    \u003ctd style=\"vertical-align: top\"\u003e\n      \u003ccenter\u003e\u003cstrong\u003e4. CHECK OUTPUT\u003c/strong\u003e\u003c/center\u003e\n      \u003cp\u003e\u003cimg alt='Check Output' src='https://github.com/thejamespinto/bdd/raw/v1/images/output.png'/\u003e\u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n\n\n\n\n## Installation\n\n\n#### Installation For RSpec\n\n```ruby\n# Gemfile\n\ngroup :development, :test do\n  gem 'rspec'\n  gem 'rspec-rails' # if you are using Rails\n  gem 'bdd'\nend\n```\n\n```ruby\n# spec/spec_helper.rb\nrequire 'bdd'\n\nBdd.configure do |config|\n  config.framework :rspec\n  config.reporters :output, :yaml\n  config.language %w[Given], %w[When Then], %w[And But]\n\n  # Optionally, add other languages:\n  # config.language pre_conditions, post_conditions, conjunctions\n  # config.language %w[Dado], %w[Quando Entao], %w[E Mas] # Portuguese\n  # config.language %w[Dato], %w[Cuando Entonces], %w[Y Mas] # Spanish\n  # config.language %w[Zakładając], %w[Jeśli To], %w[Także Ale] # Polish\nend\n```\n\n\n\n#### Installation For Minitest\n\n```ruby\n# Gemfile\n\ngroup :development, :test do\n  gem 'minitest'\n  gem 'minitest-rails' # if you are using Rails\n  gem 'bdd'\nend\n```\n\n```ruby\n# test/test_helper.rb\nrequire 'bdd'\n\nBdd.configure do |config|\n  config.framework :minitest\n  config.reporters :output, :yaml\n  config.language %w[Given], %w[When Then], %w[And But]\n\n  # Optionally, add other languages:\n  # config.language pre_conditions, post_conditions, conjunctions\n  # config.language %w[Dado], %w[Quando Entao], %w[E Mas] # Portuguese\n  # config.language %w[Dato], %w[Cuando Entonces], %w[Y Mas] # Spanish\n  # config.language %w[Zakładając], %w[Jeśli To], %w[Także Ale] # Polish\nend\n```\n\n\n\n\n\n\n\n## Authors \u0026 Contributions\n\n* [James Pinto](http://github.com/thejamespinto)\n* [Michal Papis](http://github.com/mpapis)\n\n\n\n## Contributing\n\n1. Fork it ( https://github.com/thejamespinto/bdd/fork )\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new Pull Request\n\n\n## Documentation\n\n![Chart](./images/bdd.png)\n\n- Frameworks\n    - [x] RSpec\n    - [x] Minitest\n- Reporters\n    - [x] Output\n    - [x] YAML\n    - [ ] HTML\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fch1ago%2Fbdd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fch1ago%2Fbdd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fch1ago%2Fbdd/lists"}