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