1
我正在使用之前的過濾器:authenticate_user!在我的網頁上。我有黃瓜測試,測試這些網頁上的行爲,他們現在失敗,因爲我沒有一個經過驗證的用戶,什麼是使這些測試通過最簡單的方法?每次都必須創建一個用戶並登錄他?有沒有辦法?我測試過該頁面無法訪問,如果用戶沒有登錄,我不想有這個每次我添加了一個測試用Rails 3頁測試失敗,因爲用戶未經過身份驗證
測試,設計1.2,黃瓜
我正在使用之前的過濾器:authenticate_user!在我的網頁上。我有黃瓜測試,測試這些網頁上的行爲,他們現在失敗,因爲我沒有一個經過驗證的用戶,什麼是使這些測試通過最簡單的方法?每次都必須創建一個用戶並登錄他?有沒有辦法?我測試過該頁面無法訪問,如果用戶沒有登錄,我不想有這個每次我添加了一個測試用Rails 3頁測試失敗,因爲用戶未經過身份驗證
測試,設計1.2,黃瓜
你應該編寫一套可重複使用的黃瓜步驟來記錄你的用戶進行測試。這是Devise明確建議在他們的readme中測試用戶已登錄並具有適當會話的方式。
您可以創建可重用的黃瓜的步驟,所以你只需要編寫的步驟在一次登錄用戶,那麼你可以這樣做:
Given a valid user is logged in
When ...
有使用黃瓜這樣網上很多詳細信息,但如果你想要一個簡單的例子,我在this question的答案中找到了這個例子。
@ Brett Bender - 你會創建一個新用戶並登錄他嗎?給定一個有效的用戶登錄步驟? – 2011-04-13 08:03:00
Waht我試圖避免一遍又一遍地創建用戶。理想情況下,我想創建一次,然後在測試中使用相同的用戶,黃瓜有可能嗎? – 2011-04-13 08:33:42
您可能希望標記需要用戶存在於數據庫中的測試,並使用before hook確保在測試運行之前創建用戶。查看關於鉤子的wiki頁面:https://github.com/aslakhellesoy/cucumber/wiki/Hooks – 2011-04-13 15:05:13