This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
Jon Larkowski and Stephen Caudill (author)
Mon Nov 23 12:52:45 -0800 2009
| name | age | message | |
|---|---|---|---|
| |
.document | Mon Oct 05 14:18:09 -0700 2009 | |
| |
.gitignore | Mon Oct 05 14:18:09 -0700 2009 | |
| |
LICENSE | Mon Oct 05 14:59:42 -0700 2009 | |
| |
README.textile | Tue Nov 03 18:43:12 -0800 2009 | |
| |
Rakefile | Thu Oct 29 10:13:04 -0700 2009 | |
| |
VERSION | Tue Nov 03 18:38:22 -0800 2009 | |
| |
lib/ | Mon Nov 23 12:52:45 -0800 2009 | |
| |
spec/ | Mon Nov 23 12:52:34 -0800 2009 | |
| |
unencumbered.gemspec | Tue Nov 03 18:38:22 -0800 2009 |
README.textile
Unencumbered
You got Cucumber in my RSpec!
Write Cucumber-flavored integration tests as easily as you write your RSpec.
To Get Output Like This
Output from a rake spec:integration run:
User creates a vurl
Scenario: creating
Given I am on the home page
When I submit a valid vurl
Then I should be on vurl stats page
And I should see a success message
And my vurl was successfully created
Make a Feature Like This
Put it in a spec file in the spec/integration folder. Here’s user_creates_vurl_spec.rb for example:
require File.expand_path('../../spec_helper', __FILE__)
Feature "User creates a vurl" do
Scenario "creating" do
Given "I am on the home page" do
executes { visit root_path }
When "I submit a valid vurl" do
executes do
fill_in "vurl_url", :with => 'http://example.com'
click_button 'Vurlify!'
end
Then "I should be on the vurl stats page" do
current_url.should == stats_url(Vurl.last.slug)
end
And "I should see a success message" do
response.body.should include('Vurl was successfully created')
end
And "my vurl was created" do
Vurl.last.url.should == 'http://example.com'
end
end
end
end
end
Set Up
Environment
Add this line to your config/environments/test.rb file. Make sure to use the :lib => false item. We need to require the library manually in the spec_helper.rb, since it patches RSpec.
config.gem "unencumbered", :lib => false, :version => 'x.x.x'
spec_helper.rb
Meld these lines into your existing spec/spec_helper.rb. Note the unencumbered require needs to be after your RSpec requires, since it patches RSpec.
require 'unencumbered'
require 'webrat'
Webrat.configure do |config|
config.mode = :rails
end
Spec::Runner.configure do |config|
[...your other config code...]
config.include(Webrat::Matchers, :type => [:integration])
end
class ActionController::Integration::Session; include Spec::Matchers; end
spec.opts
RSpec’s nested format reads nicely. Put this line in your spec/spec.opts file.
--format nested
Copyright © 2009 Hashrocket. See LICENSE for details.







