如果 RSpec 失败则引发异常
Raise exception if RSpec fails
我想编写 rake 脚本,它在我的应用程序中运行所有 RSpec 测试。如果任何测试失败,我想在任务中抛出一个异常(稍后我将在 NewRelic 警报系统中捕获这个异常——我也将它用于其他任务)。
可以吗?
首先,您不需要引发异常来让 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
我想编写 rake 脚本,它在我的应用程序中运行所有 RSpec 测试。如果任何测试失败,我想在任务中抛出一个异常(稍后我将在 NewRelic 警报系统中捕获这个异常——我也将它用于其他任务)。
可以吗?
首先,您不需要引发异常来让 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