Generate Cucumber and RSpec boilerplate in your ruby project
Ruby
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
features
lib
spec
templates
.gitignore
.rvmrc
CHANGELOG
Gemfile
Gemfile.lock
LICENSE
README.markdown
Rakefile
bddgen.gemspec

README.markdown

BDDGen

Generate all the boilerplate for using Cucumber and RSpec in a new ruby project.

Keep in mind this is intended for plain vanilla ruby projects. If you're writing a rails app or something, there are probably generators better suited for the job.

Also keep in mind: This is so alpha. Use at your own risk. Until at least version 1, you can't use the excuse "bddgen ate my homework!" because I am warning you right now that might happen.

Installation

The usual:

$ gem install bddgen

Usage

In your project's root directory...

Cucumber

$ bddgen cucumber

This will create a features directory with all the files you need to hit the ground running, add the cucumber gem to your Gemfile, and set up your Rakefile with the following tasks:

rake features         # Run Cucumber features
rake features:pretty  # Run Cucumber features with output in pretty format
rake features:wip     # Run @wip (Work In Progress) Cucumber features

If you don't already have a Gemfile or Rakefile, one will be created.

Rspec

$ bddgen rspec

This will create a spec directory with a spec_helper.rb, add the rspec gem to your Gemfile, and set up your Rakefile with the following tasks:

rake spec             # Run specs
rake spec:doc         # Run specs with output in documentation format

If you don't already have a Gemfile or Rakefile, one will be created.

For added convenience, you can also set up yard:

$ bddgen yard

This will add doc/* and .yardoc to your .gitignore, add the yard gem to your Gemfile, and set up a yard rake task.

If you don't already have a Gemfile, Rakefile, or .gitignore, one will be created.

From scratch:

Build an entirely new project from scratch with:

$ bddgen project name

Where name is the name of your new project. This will set up a new directory with that name containing a lib directory skeleton, a .gitignore, Gemfile, Rakefile, CHANGELOG, and a README.markdown.

You can pass options to generate the project with the boilerplate from the other tasks:

$ bddgen project name --cucumber --rspec --yard

This would basically be the same as:

$ bddgen project name
$ cd name
$ bddgen cucumber
$ bddgen rspec
$ bddgen yard