基礎

此示例將介紹 Gherkin 中 Cucumber 特徵檔案的基本結構。功能檔案在基本語法中使用多個關鍵字。

讓我們看看基本的關鍵字:

  • 功能: 此關鍵字表示以下內容是要測試或記錄的功能的基本描述或名稱。
  • 場景: 此關鍵字表示測試該功能的特定場景的名稱或基本描述。
  • 給定此關鍵字表示給定步驟,或在繼續之前假定的前提條件。在安排,行為,斷言正規化中,給出代表安排
  • 此關鍵字表示 when 步驟或要宣告的行為時。在安排,行為,斷言正規化中,給出代表行為
  • 然後,此關鍵字表示當時步驟,或者換句話說,表示行為結果的驗證步驟。在 Arrange,Act,Assert 範例中,給出了斷言
  • 並且這個關鍵字與任何上述的關鍵字的結合使用。如果你有兩個給定的語句,而不是顯式呼叫給定兩次,你可以說,“給定 A 和 B”。
  • 但是這個關鍵字與 GivenWhenThen 結合使用,表示不應該發生某些事情。那麼 A 但不是 B.

所有關鍵字必須在新行上,並且必須是新行上的第一個單詞才能被 Gherkin 解析器識別。Feature 和 Scenario 關鍵字必須緊跟在後面,如下例所示。給定,何時,然後,並且不需要冒號。

除關鍵字外,你還可以編寫說明和註釋。描述發生在關鍵字之後但在同一行上,其中註釋出現在關鍵字下方的行上。在編寫功能評論時,習慣上提供明確的規則,概述導致不同行為結果的邊緣和條件。

Feature: Product Login
    As a user, I would like to be able to use my credentials to successfully 
    login. 
    
    Rules:
    - The user must have a valid username
    - The user must have a valid password
    - The user must have an active subscription 
    - User is locked out after 3 invalid attempts
    - User will get a generic error message following 
      login attempt with invalid credentials 

    Scenario: The user successfully logs in with valid credentials 
        This scenario tests that a user is able to successfully login
        provided they enter a valid username, valid password, and 
        currently have an active subscription on their account. 

        Given the user is on the login page
        When the user signs in with valid credentials
        Then the user should be logged in