--failure-exit-code
option (exit status)
The rspec
command exits with an exit status of 0 if all examples pass, and 1
if any examples fail. The failure exit code can be overridden using the
--failure-exit-code
option.
A passing spec with the default exit code
Given a file named “ok_spec.rb” with:
RSpec.describe "ok" do
it "passes" do
end
end
When I run rspec ok_spec.rb
Then the exit status should be 0
And the examples should all pass.
A failing spec with the default exit code
Given a file named “ko_spec.rb” with:
RSpec.describe "KO" do
it "fails" do
raise "KO"
end
end
When I run rspec ko_spec.rb
Then the exit status should be 1
And the output should contain “1 example, 1 failure”.
A nested failing spec with the default exit code
Given a file named “nestedkospec.rb” with:
RSpec.describe "KO" do
describe "nested" do
it "fails" do
raise "KO"
end
end
end
When I run rspec nested_ko_spec.rb
Then the exit status should be 1
And the output should contain “1 example, 1 failure”.
Exit with 0 when no examples are run
Given a file named “anoexamples_spec.rb” with:
When I run rspec a_no_examples_spec.rb
Then the exit status should be 0
And the output should contain “0 examples”.
A failing spec and --failure-exit-code
is 42
Given a file named “ko_spec.rb” with:
RSpec.describe "KO" do
it "fails" do
raise "KO"
end
end
When I run rspec --failure-exit-code 42 ko_spec.rb
Then the exit status should be 42
And the output should contain “1 example, 1 failure”.