私の知る限り、RSpec はテスト ケースに ID を自動的に割り当てるツールを提供していませんが、それらを使用するためのいくつかのメカニズムを提供しています。
最も簡単なのは、質問にあるように、テスト ケース ID をit
最初のパラメーターに追加することです。
describe Fixnum do
it "should support + operator (TC001)" do
(5 + 8).should == 13
end
end
その後、 からの詳細な出力にテスト ケース ID が表示されrspec
、ほとんどの場合に機能する方法で特定のテスト ケースをフィルタリングすることもできます。
$ rspec -f d -e TC001 specs/test.rb
Run options: include {:full_description=>/TC001/}
Fixnum
should support + operator (TC001)
Finished in 0.00041 seconds
1 example, 0 failures
それだけでは不十分な場合は、テスト オプション タグのハッシュを使用して、テストのラベル付けと管理のための独自のスキームを作成することで、さらに進めることができます。
describe Fixnum do
it "should support + operator", case_id: 'TC001' do
(5 + 8).should == 13
end
end
これは、次のようにフィルタリングできます。
$ rspec -f d -t case_id:TC001 specs/test.rb
Run options: include {:case_id=>"TC001"}
Fixnum
should support + operator
Finished in 0.0004 seconds
1 example, 0 failures
ただし、タグ データは出力に表示されないことに注意してください。rspec
実際、 gem がそのまま提供する出力オプションには表示されません。ただし、RSpec のカスタム フォーマッタや、テスト スイートの動作を制御するその他のコードでアクセスできます。したがって、これを使用して、テスト ケース ラベルなどを含む .csv などのカスタム レポートを作成したり、テスト ケースを追跡したり、データベース内のケースの成功/失敗の進化などを追跡したりできます。