Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
tree: fb2f6f18d3
Fetching contributors…

Cannot retrieve contributors at this time

110 lines (87 sloc) 2.712 kb
Feature: transactional examples
By default rspec executes each individual example in a transaction.
You can also explicitly enable/disable transactions the configuration
property 'use_transactional_examples'.
Scenario: run in transactions (default)
Given a file named "spec/models/widget_spec.rb" with:
"""
require "spec_helper"
describe Widget do
it "has none to begin with" do
Widget.count.should == 0
end
it "has one after adding one" do
Widget.create
Widget.count.should == 1
end
it "has none after one was created in a previous example" do
Widget.count.should == 0
end
end
"""
When I run `rspec spec/models/widget_spec.rb`
Then the examples should all pass
Scenario: run in transactions (explicit)
Given a file named "spec/models/widget_spec.rb" with:
"""
require "spec_helper"
RSpec.configure do |c|
c.use_transactional_examples = true
end
describe Widget do
it "has none to begin with" do
Widget.count.should == 0
end
it "has one after adding one" do
Widget.create
Widget.count.should == 1
end
it "has none after one was created in a previous example" do
Widget.count.should == 0
end
end
"""
When I run `rspec spec/models/widget_spec.rb`
Then the examples should all pass
Scenario: disable transactions (explicit)
Given a file named "spec/models/widget_spec.rb" with:
"""
require "spec_helper"
RSpec.configure do |c|
c.use_transactional_examples = false
c.order = "default"
end
describe Widget do
it "has none to begin with" do
Widget.count.should == 0
end
it "has one after adding one" do
Widget.create
Widget.count.should == 1
end
it "has one after one was created in a previous example" do
Widget.count.should == 1
end
after(:all) { Widget.destroy_all }
end
"""
When I run `rspec spec/models/widget_spec.rb`
Then the examples should all pass
Scenario: run in transactions with fixture
Given a file named "spec/models/thing_spec.rb" with:
"""
require "spec_helper"
describe Thing do
fixtures :things
it "fixture method defined" do
things(:one)
end
end
"""
Given a file named "spec/fixtures/things.yml" with:
"""
one:
name: MyString
"""
When I run `rspec spec/models/thing_spec.rb`
Then the examples should all pass
Jump to Line
Something went wrong with that request. Please try again.