2011-12-06 23 views
4

我有一套在生成服務器上運行的黃瓜測試。爲什麼我在黃瓜「周圍」看不到拋出的異常?

我經常想要比服務器直接提供的更快的反饋,所以我在運行時觀察控制檯輸出。我想用一種搜索術語來識別任何失敗的測試,所以我修改了「Around」以在任何異常情況下打印「失敗測試」,但是Ruby似乎沒有將異常提交回周圍。我已經通過在開始...結束後提供陳述來驗證這一點。

有沒有人知道爲什麼會發生這種情況,或者在開始時包裝從失敗測試中拋出的任何異常?

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 

回答

0

看着黃瓜1.3.12它實際上從救援方案的步驟任何異常。所以,如果不修改黃瓜寶石,你無法以任何方式看到它們。

看我如何把一個調試鉤在那個地方以獲取更多信息的回答: https://stackoverflow.com/a/22654786/520567

相關問題