1
當我偶然發現this question時,我試圖深入瞭解自己的問題。據我的理解,兩種不同的功能正在表達和測試(關於它們看兩個Whens和兩個Givens)。這樣做是對的嗎?在一種情況下行爲的多個方面?
當我偶然發現this question時,我試圖深入瞭解自己的問題。據我的理解,兩種不同的功能正在表達和測試(關於它們看兩個Whens和兩個Givens)。這樣做是對的嗎?在一種情況下行爲的多個方面?
有兩種編寫方案的方式(對於這一點也是類級別的例子)。
其中之一是每個方案使用一個示例。
另一種方法是讓行爲的每個方案的一個方面。
在這種情況下,非活動用戶和活動用戶的行爲提供了有價值的東西。沒有這個或那個,這種行爲是沒有意義的。所以把它們放在一個場景中是有道理的。這也提供了實用的好處,因爲它經常需要時間來初始化場景的上下文。
將它們分開的一個很好的理由可能是如果第三種行爲發揮作用(例如,您已經暫停了用戶以及活動和非活動用戶)。
如果您有單獨的行爲方面,通常用不同的例子來說明它們是很有價值的。例如:
Given Fred bought a fridge for $100
When Fred returns the fridge
Then he should be refunded $100
And the fridge should be returned to stock.
兩個結果是很清楚的行爲的兩個不同方面,涉及不同的利益相關者 - 顧客和店老闆 - 所以它會更有意義,他們分手了。
Given Fred bought a fridge for $100
When Fred returns the fridge
Then he should be refunded $100
Given Fred bought a fridge for $100
When Fred returns the fridge
Then the fridge should be returned to stock.
然而,要務實。如果它比其他方式更易於閱讀或理解,那麼應優先於任何硬性規定。我會說,我花了一段時間才學會如何有效地做到這一點,所以大部分都帶有經驗。