Logo: Relish

  1. Sign up
  2. Sign in

Project: RSpec Core 3.0

fail fast

Use the fail_fast option to tell RSpec to abort the run on first failure:

RSpec.configure { |c| c.fail_fast = true }
Background
Given
a file named "spec/spec_helper.rb" with:
RSpec.configure {|c| c.fail_fast = true}
Scenarios
`fail_fast` with no failures (runs all examples)
Given
a file named "spec/example_spec.rb" with:
RSpec.describe "something" do
  it "passes" do
  end

  it "passes too" do
  end
end
When
I run rspec spec/example_spec.rb
Then
the examples should all pass
`fail_fast` with first example failing (only runs the one example)
Given
a file named "spec/example_spec.rb" with:
require "spec_helper"
RSpec.describe "something" do
  it "fails" do
    fail
  end

  it "passes" do
  end
end
When
I run rspec spec/example_spec.rb -fd
Then
the output should contain "1 example, 1 failure"
`fail_fast` with multiple files, second example failing (only runs the first two examples)
Given
a file named "spec/example_1_spec.rb" with:
require "spec_helper"
RSpec.describe "something" do
  it "passes" do
  end

  it "fails" do
    fail
  end
end

RSpec.describe "something else" do
  it "fails" do
    fail
  end
end
And
a file named "spec/example_2_spec.rb" with:
require "spec_helper"
RSpec.describe "something" do
  it "passes" do
  end
end

RSpec.describe "something else" do
  it "fails" do
    fail
  end
end
When
I run rspec spec
Then
the output should contain "2 examples, 1 failure"

Last published about 2 years ago by myronmarston.