2015-11-09 96 views
0

我想寫劇本耙,運行在我的應用程序的所有RSpec的測試。如果任何測試失敗,id就像在任務中拋出Exception(稍後我會在NewRelic警報系統中捕獲此異常 - 我也將其用於其他任務)。引發異常,如果RSpec的失敗

可能嗎?

+0

你可以直接通知newrelic,你知道。 –

+1

你也可以檢查'rspec'命令行工具的退出碼。如果它不是零,請擡起。 –

+0

我不確定你的意思。如果在rake任務期間我的rspec失敗,NewRelic會顯示它?根據你的第二條命令,這可能是我正在尋找的答案。我會馬上測試它! –

回答

1

首先,你並不需要引發異常,讓它知道NewRelic的。您可以直接發佈錯誤的詳細信息,以他們的API讓知道NewRelic的:https://docs.newrelic.com/docs/agents/ruby-agent/troubleshooting/sending-new-relic-handled-errors

notice_error(exception, options = { }) 

其中exception可以例外對象(StandardError.new,例如)或消息。

此外,您還可以省略這一切異常業務和檢查rspec命令行工具退出代碼。如果測試是綠色的,它將爲零。如果存在錯誤,則不會爲零。像這樣的東西

if system('rspec spec') # return true if command was successful, false otherwise 
    # if green 
else 
    # if red 
end 
+0

很好的答案,非常感謝! –

相關問題