ターミナルからrspecファイルを実行した後、ターミナル出力からすべてのテストの実行期間を確認できます。次のようになります。
3 examples, 0 failures, 3 passed
Finished in 65.007918085 seconds
その期間を変数に保存する方法はありますか(たとえば、テスト時間の統計をデータベースに送信するため)?
出力をシェルにパイプし、正規表現を使用して期間を抽出します。
rspecカスタムフォーマッタを使用してこのデータにアクセスし、出力の表示方法を制御できると思います。運が良ければ、他の誰かがあなたが再利用できるものをすでに書いているかもしれません。あるいは、おそらく、すでに使用しているフォーマッターをサブクラス化し、メソッドstart_dumpを拡張して、期間データで何か面白いことをしてから、superを呼び出すだけで済みます。
カスタムフォーマッタを呼び出すには、次のようにします。
rspec -f MyFormatter name_of_test_spec.rb
rspecカスタムフォーマッタの詳細:
https://www.relishapp.com/rspec/rspec-core/docs/formatters/custom-formatters
http://rubydoc.info/gems/rspec-core/2.6.4/RSpec/Core/Formatters/BaseFormatter