2010-10-26 45 views
0

我想將類似YML的配置數據傳遞給黃瓜的場景。如何將類似YML的數據結構傳遞給黃瓜場景?

例如:

category: 
    subcategory: 
    name: whay 

如何做到這一點?感謝

+0

您是否正在嘗試配置您正在使用YML測試的應用程序?即你有一些你想用黃瓜步驟調用的方法configureMyApp(yml)嗎? – Clinton 2010-10-26 06:45:01

+0

是的!這是我的意思:) – why 2010-10-26 08:47:12

回答

1

經過測試驅動的方式,考慮你的應用程序邏輯分離YML解析邏輯,喜歡的東西:

def my_app_logic(my_hash) 
    # app logic goes here 
end 

def my_yml_parsing_logic 
    # load a file, or get a yml string 
    # parse it and return a hash 
end 

,那麼你會編寫單元測試來檢查YML的分析邏輯和它的所有邊緣案例。你也可以爲應用邏輯編寫單元測試,而不必擔心yml。

爲了您黃瓜的測試,考慮嘲笑了(或者使用一個工廠來創建)進行測試好的哈希,並在你的步驟定義使用這個散列值,這樣你就可以有一個像步:

When I run my app logic on a hash with 5 categories 

或者像那樣簡單的東西。

+0

謝謝!很不錯的一點!我想知道是否有太多的嘲笑,黃瓜測試是否有意義? – why 2010-10-28 02:21:38

+0

我使用黃瓜測試進行功能和集成測試,因此從定義和測試高級功能的角度來看它是有意義的。我喜歡使用BDD的故事讓我將注意力集中在我的開發工作中,並確保我已定義並運行了核心功能,因此從這個意義上講,我將創建出良好的數據來表示典型的用例。我非常喜歡工廠女孩,因爲它允許我使用rspec和黃瓜的相同工廠。 – 2010-10-28 02:58:26