RubyのRSpecテストスイートでは怠け者になってしまい、DBのやり方を邪魔するのではなく、あまりにも簡単に使います。私は継続的な統合ビルドでスクリプトを追加しようとしています。これは、任意のテストが5秒間実行された場合、ビルドが失敗するということです。1回のテストで時間制限を超えて実行するとRSpecテストが失敗する方法はありますか?
ここまでは私がこれまで行っている方向です。
使用RSpecのの
--profile
オプションGrepの秒アウト。
秒が一定の制限を超えると失敗します。
これは私がこれまで持っているWIPコマンドです:
rspec spec/models/user_spec.rb --profile | \
tee /dev/tty | \
grep '[0-9] seconds ./' | \
grep -oEi '[0-9]+\.[0-9]+' | \
awk '$1 > 5.0' \
問題:
番号アウトこれますのみ
awk
。これがビルドプロセスで失敗すると、どのファイルが違反者であるかわかりません。パイプから不具合があるようです。
私はこのようにそれを行うだろう(しかし、より良い方法がなければならない):問題のうち
if $(rspec spec... awk ...) > /dev/null ; then exit 1 ; fi
、私は最初のものに最もこだわっ。助言がありますか?