fail_fast
オプションの設定
fail_fast
オプションを使用して、RSpecにN回の失敗後に実行を中止するよう指示します。
失敗がない場合の fail_fast
(すべての例を実行)
以下の内容で "spec/spec_helper.rb" という名前のファイルを作成します:
RSpec.configure {|c| c.fail_fast = 1}
以下の内容で "spec/example_spec.rb" という名前のファイルを作成します:
RSpec.describe "something" do
it "passes" do
end
it "passes too" do
end
end
rspec spec/example_spec.rb
を実行すると、
すべての例がパスするはずです。
最初の例が失敗する場合の fail_fast
(1つの例のみ実行)
以下の内容で "spec/spec_helper.rb" という名前のファイルを作成します:
RSpec.configure {|c| c.fail_fast = 1}
以下の内容で "spec/example_spec.rb" という名前のファイルを作成します:
require "spec_helper"
RSpec.describe "something" do
it "fails" do
fail
end
it "passes" do
end
end
rspec spec/example_spec.rb -fd
を実行すると、
出力に "1 example, 1 failure" が含まれるはずです。
複数のファイルで2番目の例が失敗する場合の fail_fast
(最初の2つの例のみ実行)
以下の内容で "spec/spec_helper.rb" という名前のファイルを作成します:
RSpec.configure {|c| c.fail_fast = 1}
以下の内容で "spec/example_1_spec.rb" という名前のファイルを作成します:
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
以下の内容で "spec/example_2_spec.rb" という名前のファイルを作成します:
require "spec_helper"
RSpec.describe "something" do
it "passes" do
end
end
RSpec.describe "something else" do
it "fails" do
fail
end
end
rspec spec
を実行すると、
出力に "2 examples, 1 failure" が含まれるはずです。
fail_fast 2
で1番目と3番目の例が失敗する場合の fail_fast
(最初の3つの例のみ実行)
以下の内容で "spec/spec_helper.rb" という名前のファイルを作成します:
RSpec.configure {|c| c.fail_fast = 2}
以下の内容で "spec/example_spec.rb" という名前のファイルを作成します:
require "spec_helper"
RSpec.describe "something" do
it "fails once" do
fail
end
it "passes once" do
end
it "fails twice" do
fail
end
it "passes" do
end
end
rspec spec/example_spec.rb -fd
を実行すると、
出力に "3 examples, 2 failures" が含まれるはずです。