2012-04-03 61 views
8

我想知道是否有一個很好的論點來反對在使用黃瓜背景時使用標籤和鉤子。黃瓜:什麼時候使用標籤/鉤子vs背景

有登錄用戶測試開始前可能會有兩種結果是這樣的:

Background: 
    Given that I am logged in 
Scenario: Lorem ipsum sit amet dolor 
[...] 

或像這樣:

@login 
Scenario: Lorem ipsum sit amet dolor 
[...] 

+

before(@login) do 
    visit('/admin/login/testuser') 
end 

任何想法時贊成一個在另一個?

回答

9

Background在爲您的場景提供常見的客戶可讀(非技術)背景時非常有用。如果您希望在Feature的文本中明確說明此初始化,則值得使用它。

但是有時拆解(和設置)邏輯是一個實現細節,並且在BeforeAfterAround鉤子中實現(因爲規範的讀者不需要知道這些技術性的東西)。

摘要:如果您希望通知讀者您的背景規範並在背景爲實現細節時使用鉤子,請使用背景。

在你的例子背景是最好的選擇。

4

絕對是前者(恕我直言),因爲它捕獲了通用可讀的小黃瓜特徵文件中的所有內容。這些標籤實際上只是爲了幫助跑者 - 它們是實施級別。你在這裏描述的是描述正在發生的事情的一部分。