2012-12-30 64 views
0

我剛剛開始使用Cucumber,我在Grails 2.1.1應用程序中使用Geb。我已經完成了第一個測試成功登錄的測試。結構登錄成功和失敗功能

Feature: login to system 
    As a user of the system 
    I want to log in to the application 
    so that I can use it 

    Scenario: login 
    Given I access the login page 
    When I enter "user_10001" and "10001" 
    Then I see the dashboard 

Given(~'^I access the login page$') {-> 
    to LoginPage 
    at LoginPage 
} 

When(~'^I enter "([^"]*)" and "([^"]*)"$') { String username, String password -> 
    page.add(username, password) 
} 

Then(~'^I see the dashboard$') {-> 
    at DashboardPage 
} 

Then(~'^I see an error message on the login page$') { -> 
    at LoginPage 
} 

這很好。我也想測試登錄失敗時會發生什麼。我意識到這是另一種情況,但它是另一個特點?或者它是一個相同功能的附加場景?任何指導將不勝感激。

回答

1

功能是一項功能。將場景劃分爲多個功能的唯一原因是縮短文件的時間並使功能的信息更易於搜索。

您的場景是身份驗證功能的一部分。但是,如果您有許多與身份驗證相關的功能(多個登錄頁面,忘記密碼,短信/電話確認),則身份驗證功能可以分爲幾個放入身份驗證文件夾的功能文件。這取決於你的應用程序

我認爲在任何情況下,成功和不成功的登錄情況將適合在同一個文件更好。


而且您的場景看起來有點脆,必須給我。閱讀以下內容:

我會寫這樣的:

Scenario: Login 
    Given I'm at login page 
    When I login with valid credentials 
    Then I see the dashboard 
+0

感謝。我仍然有很多東西需要學習。讓我困惑的是,對於這兩種情況,我從「給定」開始都是一樣的。而且我不知道我的錯誤是因爲我不能這麼做,或者是因爲我有其他錯誤。但這是一個不同的問題...... – Gregg