2015-08-26 21 views
2

我一直在使用小黃瓜(與黃瓜)多年。我很早就注意到,Cucumber.io主頁上的例子在給定和時間語句中引用了'I',但在當時的語句中沒有提到。小黃瓜'然後'的陳述是指'我'

我一直認爲這是因爲給定和何時陳述是用戶的主觀行爲,其中陳述應該是關於被測試的應用程序狀態的客觀度量。

但是,我注意到在官方的黃瓜書中,他們的例子是指通過步驟(包括使用then語句時)的'I'。

任何人都知道哪種方法是正確的?

+1

我的快速答案:我更喜歡用名詞來代名詞。讀者不會感到困惑。 –

+0

@charlie,你能找到我該文件的鏈接嗎? – Aravin

回答

1

根據我對BDD和Gherkinri的經驗,我們一直認爲用戶故事有兩個角色:用戶和系統。並非所有的演員都是最終用戶。例如,某個角色可能是另一個系統或某人想要購買某個產品的某些功能,但實際上不會使用該產品。創建聚合角色(如消費者)和專業角色(如瀏覽器或經常購物者)可能會很有用。所以有然後步驟實際上預計從最終用戶的角度來看的結果。例如:

Then I should see that cash amount 'storedTotalAmount' and cash amount 'currentAmount' are equal 'true' 
+0

很好的解釋! @ekostadinov – Aravin

+0

很高興幫助@Aravin。 – ekostadinov

1

關於「Then」語句是否應該包含「I」沒有明確的規則。作爲@ekostadinov它取決於參與測試場景的參與者。

例如在消息傳遞方案:

Given Alice is on a messaging page 
When Alice posts a message to Bob 
Then Bob should receive the message 

在這種情況下,將沒有任何意義用在「然後」,「我」。但是,如果你有一個稍微不同的場景:

Given I am on the messaging page 
When I post a message to Bob 
Then I should receive confirmation that Bob received the message 

然後使用「我」是有道理的。

因此它取決於你如何編寫測試。總之,我喜歡在我的測試中使用角色(即系統中的特定類型的用戶),例如,愛麗絲,鮑勃等。這通常會消除使用「我」時可能出現的任何歧義。

相關問題