Testing $HOME with Cucumber and Aruba

Cucumber and Aruba are awesome tools to write acceptance tests for your command line application. The allow you to do things like this: Scenario: Exit with 0 when no examples are run Given a file named "a_no_examples_spec.rb" with: """ruby """ When I run `rspec a_no_examples_spec.rb` Then the exit status should be 0 And the output should contain "0 examples" This example was taken from rspec-core. Aruba basically does three things for you:

Fast specs - Run your specs in less than 1 second

Okay, let me clarify that title first. I, as most of you, have two sets of tests for my Rails application: rspec and cucumber. rspec heavily focusses on testing models and business logic while cucumber focusses on testing the entire application stack and user interaction. The problem is that as your app grows, your test set grows - and so does the time it takes to run those tests.