ビルドサーバーで実行される一連のキュウリテストがあります。キュウリ "Around"でスローされた例外が表示されないのはなぜですか?
私はしばしば、サーバーが直接提供するよりも速いフィードバックをしたいので、コンソール出力が実行されているのを見ます。私は単一の検索用語で失敗したテストを特定する方法を欲しかったので、Aroundを変更して "Failed Test"を印刷するようにしましたが、Rubyはその例外を周囲にバックアップしていないようです。私はbegin ... endの後にputs文を置くことでこれを確認しました。
これはなぜ起こっているのか、または開始時に失敗したテストからスローされた例外をラップする方法を知っていますか?
Around() do |scenario, block|
begin
Timeout.timeout(0.1) do
block.call
end
rescue Timeout::Error => e
puts "Failed Test"
puts caller
rescue Exception => e
puts "Failed Test"
raise e
end
end