A starter kit for testing BDD in rails
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


BDD Rails: A starter kit

Gem Version Build Status

Hello there! So you think BDD is a great way to talk about software? Are you ready to codify some of those conversations? Do you build apps in rails? If so you've come to the right place.

bdd-rails was built to provide a set of generators for a rails app. We provide an opinionated setup for using rspec + capybara to feature test your application.

BDD starts with conversations

Many think BDD is about a certain testing style, it is and it isn't. BDD is much more about the conversations around the desired and undesired behaviour of a system.

If you're not having conversations about your system in a BDD style then that is where you should start!

Codifying Behaviour

Coming soon... for now read the following articles to find out about the style of tests we're writing:

Creating a new rails app

Firstly, make sure you have rails installed!

gem install rails

Now let's create a new app!

rails new --skip-test-unit my_bdd_app
cd my_bdd_app

Next we want to install bdd-rails:

echo "gem 'bdd-rails', path: '../../'" >> Gemfile

We want to install our BDD setup in your rails app:

bundle exec rails g bdd_rails:install

And setup our DB:

bundle exec rake db:migrate

Now you can run your (empty) test suite:

bundle exec rspec

How about an example?

To install a full example of feature test and code into your application run the following:

bundle exec rails g bdd_rails:example
bundle exec rspec

Now you have a passing example! Feel free to explore the example code :)