失敗時の終了コードの設定
RSpecが失敗した場合にカスタムの終了コードを設定するには、failure_exit_code
オプションを使用します。
RSpec.configure { |c| c.failure_exit_code = 42 }
背景
以下の内容で「spec/spec_helper.rb」という名前のファイルがあるとします。
RSpec.configure { |c| c.failure_exit_code = 42 }
デフォルトの終了コードで失敗するスペック
以下の内容で「spec/example_spec.rb」という名前のファイルがあるとします。
RSpec.describe "something" do
it "fails" do
fail
end
end
rspec spec/example_spec.rb
を実行すると、
終了ステータスは1であるべきです。
カスタムの終了コードで失敗するスペック
以下の内容で「spec/example_spec.rb」という名前のファイルがあるとします。
require 'spec_helper'
RSpec.describe "something" do
it "fails" do
fail
end
end
rspec spec/example_spec.rb
を実行すると、
終了ステータスは42であるべきです。
カスタムの終了コードでスペックの実行エラーが発生する場合
以下の内容で「spec/typo_spec.rb」という名前のファイルがあるとします。
require 'spec_helper'
RSpec.escribe "something" do # intentional typo
it "works" do
true
end
end
rspec spec/typo_spec.rb
を実行すると、
終了ステータスは42であるべきです。