2013-03-28 30 views
1

使用紅寶石/黃瓜,我知道您可以明確地調用fail("message"),但您還有其他選擇嗎?我可以在黃瓜場景中強制使用什麼結果

我問的原因是我們有0 ...我重複,絕對沒有控制我們的測試數據。我們進行了黃瓜測試,測試我們的數據庫中可能有或沒有用戶的邊緣案例。我們(出於顯而易見的原因)不想扔掉測試,因爲它們很有價值;但是由於我們的數據集無法測試該邊界情況,因爲sql語句返回一個空的數據集,所以失敗。現在,我們只是讓這些測試失敗,但是我希望看到「no_data」或類似的東西,如果sql語句返回一個空的數據集。所以輸出會是什麼樣子

Scenarios: 100 total (80 passed, 5 no_data, 15 fail) 

我願意使用已實行「跳過」如果有skip("message")功能。

我的選擇是什麼,所以我們可以看到,使用當前數據,我們沒有任何測試數據用於這些測試?使這些手動測試也不是一種選擇。他們需要在我們的自動化過程中每週運行一次,但不知何故與故障分開。失敗意味着缺陷,發現no_data意味着它不是一個可測試的條件。這是警告之間的區別:我們還沒有測試過這個邊緣案例,警報:破解代碼。

回答

2

您不能調用'跳過',但您可以肯定地調用pending有或沒​​有錯誤消息。我已經在類似的情況下使用過它。除非你在嚴格模式下運行,否則掛起的場景不會導致任何故障。我遇到的問題是,偶爾會出現拼寫錯誤,導致黃瓜將其標記爲待處理,因爲它不符合步驟定義。然後,這種情況在'合法'未決情景的海洋中消失了,並且在我們發現它之前的幾個星期。

+0

我也在黃瓜gem中自己修改了summary.rb和html.rb文件,所以當我們在測試套件結束時輸出結果時,「待定」測試實際上顯示「no_data」而不是掛起。這使P.O.更容易。讀書。 –

相關問題