2016-07-27 92 views
-1

鑑於我執行命令狀rspec的失敗

expect(['x', 'y', 'z']).to be_empty

我怎樣才能在測試失敗時執行一個命令,例如,把我失敗的測試的內容轉換成csv文件測試具有特定於該測試中的數據的行名稱。我能想到的要做到這一點

最好的辦法是

begin 
    expect(['x', 'y', 'z']).to be_empty 
rescue RSpec::Expectations::ExpectationNotMetError => e 
    #output to csv 
    raise e 
end 

然而,這並不覺得這樣做最徹底的方法。

另一個選擇是將這個放在黃瓜的失敗掛鉤上,但是我會失去指定行名的能力,或者需要事先定義行名,這也感覺很奇怪。

有沒有更清潔,更精確的方法去做到這一點?

注:這些測試正在與黃瓜

回答