2012-03-19 76 views
0

我想寫了,看起來像一個場景:每次使用Cucumber&Devise Gems測試登錄用戶時,是否必須登錄?

Given I am logged in 
And I am on my profile page 
Then I see my name 

對於「鑑於我的登錄狀態」 - 我需要像寫東西:

When I go to the log in page 
    And I fill in "user_username" with "test" 
    And I fill in "user_password" with "invalid password" 
    And I press "Sign in" 

問題是:每次測試登錄的用戶功能時,測試都必須通過登錄場景?

編輯: 請注意,我正在使用Devise的寶石。我不知道如何直接登錄用戶,因爲用戶會話,cookie等必須設置

回答

1

我會寫一個步驟定義來處理登錄,而不是一個場景。

此步驟定義可以將cookie放入cookie jar以供後續使用。

如果您將cookiejars存儲在測試用戶鍵入的hashmap中,那麼該方法可以足夠聰明,只有在needen時才能登錄並在仍然可用的情況下重用會話。這樣可以在測試中節省大量時間,但是不會有完全獨立的測試,因爲現在它們通過服務器上的會話數據進行耦合。在再次登錄之前,會話總是可以通過註銷來清除。

相關問題