-1
使用ruby RSpec測試套件很懶惰,並且使用db方式而不是嘲笑事情。我試圖在持續集成構建中添加一個腳本,如果有任何測試運行結束,比如5秒,構建應該失敗。如果在單個測試中超過時間限制,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
出了毛病,我卡最放在了第一位。有什麼建議麼?