メインコンテンツまでスキップ

--format オプション

--format オプションを使用して、RSpecに出力のフォーマット方法を指定します。

RSpecにはいくつかの組み込みのフォーマッタが付属しています。デフォルトでは、進行状況を示すプログレスフォーマッタが使用され、次のような出力が生成されます:

....F.....*.....

'.' はパスした例を表し、'F' は失敗し、'*' は保留中です。

ドキュメントフォーマッタを使用すると、describeit、およびそれらのエイリアスに渡されるドキュメント文字列を表示できます:

$ rspec spec --format documentation

--format オプションの直後に --out オプションを使用して出力先を指定することもできます(デフォルトでは $stdout が使用されます):

$ rspec spec --format documentation --out rspec.txt

利用可能なフォーマッタの一覧を表示するには、rspec --help を実行してください。

背景

Given "example_spec.rb" という名前のファイルがあるとき:

RSpec.describe "something" do
it "does something that passes" do
expect(5).to eq(5)
end

it "does something that fails" do
expect(5).to eq(4)
end

it "does something that is pending", :pending => true do
expect(5).to be < 3
end

it "does something that is skipped", :skip => true do
expect(5).to be < 3
end
end

プログレスバーフォーマット(デフォルト)

When rspec --format progress example_spec.rb を実行すると

Then 出力に ".F**" が含まれているはずです。

ドキュメントフォーマット

When rspec example_spec.rb --format documentation を実行すると

Then 出力には次のような内容が含まれているはずです:

something
does something that passes
does something that fails (FAILED - 1)
does something that is pending (PENDING: No reason given)
does something that is skipped (PENDING: No reason given)

ドキュメントフォーマットをファイルに保存

When rspec example_spec.rb --format documentation --out rspec.txt を実行すると

Then "rspec.txt" というファイルには次のような内容が含まれているはずです:

something
does something that passes
does something that fails (FAILED - 1)
does something that is pending (PENDING: No reason given)
does something that is skipped (PENDING: No reason given)

複数のフォーマットと出力先

When rspec example_spec.rb --format progress --format documentation --out rspec.txt を実行すると

Then 出力には ".F**" が含まれているはずです

And "rspec.txt" というファイルには次のような内容が含まれているはずです:

something
does something that passes
does something that fails (FAILED - 1)
does something that is pending (PENDING: No reason given)
does something that is skipped (PENDING: No reason given)