<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 什么是小黃瓜? 用黃瓜寫小黃瓜測試 > 原文: [https://www.guru99.com/gherkin-test-cucumber.html](https://www.guru99.com/gherkin-test-cucumber.html) ## 什么是小黃瓜? 小黃瓜是黃瓜規格的格式。 它是一種領域特定的語言,可幫助您描述業務行為,而無需詳細介紹實現。 此文本充當自動化測試的文檔和框架。 Gherkin 基于 TreeTop 語法,它以 37 種以上的語言提供。 因此,您可以使用 37 種以上的口頭語言來編寫自己的小黃瓜。 該腳本有兩個主要目的: * 記錄用戶場景 * 編寫自動化測試(BDD) 在這個 Gherkin 教程中,您將學習 * [什么是小黃瓜?](#1) * [為什么選擇小黃瓜?](#2) * [小黃瓜語法](#3) * [小黃瓜](#4)中使用的重要術語 * [小黃瓜示例](#5) * [使用小黃瓜的最佳做法](#6) * [小黃瓜](#7)的優缺點 ## 為什么是小黃瓜? 下圖可以輕松解釋對黃瓜的需求 **小黃瓜之前** ![](https://img.kancloud.cn/30/01/300136e75b08783476b8c56b1a8c79a7_1121x598.png) **小黃瓜之后** ![](https://img.kancloud.cn/9a/29/9a292fd9cd7dc4cae66122dd6e6ede85_933x586.png) ## 小黃瓜語法 就像 YAML 和 Python 一樣,Gherkin 是面向行的語言。 每行都稱為 step,以關鍵字開頭,并以 stop 結束終端。 制表符或空格用于縮進。 在此腳本中,可以在任何需要的地方添加注釋,但注釋應以#號開頭。 在刪除 Ghrekin 的給定關鍵字,何時,然后等等之后,它讀取每一行。 **典型的小黃瓜步驟如下:** 小黃瓜腳本:將因果關系的人類概念與輸入/過程/輸出的軟件概念聯系起來。 **小黃瓜語法:** ``` Feature: Title of the Scenario Given [Preconditions or Initial Context] When [Event or Trigger] Then [Expected output] ``` 一個 Gherkin 文檔的擴展名是.feature,只是一個帶有奇特擴展名的測試文件。 Cucumber 閱讀 Gherkin 文檔并執行測試以驗證該軟件的行為是否符合 Gherkin 黃瓜語法。 ## 小黃瓜中使用的重要術語 * 特征 * 背景 * 情境 * 給定 * 什么時候 * 然后 * 和 * 但 * 方案大綱示例 命名約定用于功能名稱。 但是,黃瓜中沒有關于名稱的固定規則。 **功能:** 該文件應具有擴展名.feature,并且每個功能文件應僅具有一個功能。 Feature 關鍵字與 Feature 一起使用:添加后,將寫入功能的空格和名稱。 **場景:** 每個功能文件可能具有多個方案,并且每個方案都以“方案”開頭:后跟方案名稱。 **背景:** Background 關鍵字可幫助您向場景中添加一些上下文。 它可以包含場景的某些步驟,但是唯一的區別是它應該在每個場景之前運行。 **給出:** Given 關鍵字的使用是在用戶開始與系統交互之前將系統置于熟悉的狀態。 但是,如果在“前提條件”步驟中給出,則可以省略在“給出”步驟中編寫用戶交互。 句法: ``` Given ``` ``` Given - a test step that defines the 'context Given I am on "/." ``` **時間:** 當步驟是定義用戶執行的動作時。 Syntax: ``` When ``` ``` A When - a test step that defines the 'action' performed When I perform "Sign In." ``` **然后:** “ then”關鍵字的使用是在 when 步驟中的操作后查看**結果**。 但是,您只能驗證明顯的更改。 句法: ``` Then ``` ``` Then - test step that defines the 'outcome.' Then I should see "Welcome Tom." ``` **和&但是** 您可能在 when 或 Then 給出多個。 Syntax: ``` But ``` ``` A But - additional test step which defines the 'action' 'outcome.' But I should see "Welcome Tom." ``` ``` And - additional test step that defines the 'action' performed And I write "EmailAddress" with "This email address is being protected from spambots. You need JavaScript enabled to view it. ." ``` 給定,何時,然后,和,但是是測試步驟。 您可以互換使用它們。 解釋器不顯示任何錯誤。 但是,他們在閱讀時肯定不會發出任何“感覺”。 ![](https://img.kancloud.cn/19/21/1921a5d60ebdd7e2b9ca0e6370e0419d_1120x279.png) ``` Given The login page is opening When I input username, password and click the Login button Then I am on the Homepage ``` ## 小黃瓜示例 ``` Feature: Login functionality of social networking site Facebook. Given: I am a facebook user. When: I enter username as username. And I enter the password as the password Then I should be redirected to the home page of facebook ``` 上面提到的方案具有稱為用戶登錄的功能。 所有粗體字均為小黃瓜關鍵字。 Gherkin 將分析步驟定義文件中寫入的每個步驟。 因此,步驟在功能文件中給出,并且步驟定義文件應匹配。 **示例 2:** ``` Feature: User Authentication Background: Given the user is already registered to the website Scenario: Given the user is on the login page When the user inputs the correct email address And the user inputs the correct password And the user clicks the Login button Then the user should be authenticated And the user should be redirected to their dashboard And the user should be presented with a success message ``` ## 使用小黃瓜的最佳做法 * 每個方案應單獨執行 * 每個功能都應該能夠一起執行 * 步驟信息應獨立顯示 * 將方案與需求聯系起來 * 全面跟蹤需求文檔中應包含哪些方案 * 創建模塊化且易于理解的步驟 * 嘗試結合所有常見情況 ## 小黃瓜的優缺點 * 小黃瓜非常簡單,非程序員也可以理解 * 程序員可以以此為基礎來開始測試 * 它使用戶故事更易于理解 * 小黃瓜腳本可以被企業主管和開發人員輕松理解 * 針對業務需求 * 功能說明的很大一部分寫為用戶案例 * 您無需成為專家即可了解小型 Gherkin 命令集 * 小黃瓜將驗收測試直接鏈接到自動化測試 * 編寫測試用例的樣式更易于在其他測試中重用代碼 **缺點** * 它需要高水平的業務參與和協作 * 可能無法在所有情況下都能正常工作 * 寫得不好的測試很容易增加測試維護成本 **摘要:** * 小黃瓜是黃瓜規格的格式 * 就像 YAML 和 Python 一樣,Gherkin 是面向行的語言 * Gherkin Scripts 將因果關系的人類概念與輸入/過程和輸出的軟件概念聯系起來 * 特征,背景,方案,給定,何時,何時和但在小黃瓜中很重要 * 在小黃瓜中,每種情況應分別執行 * Gherkin 的最大優點是足夠簡單,非程序員也可以理解 * 它可能無法在所有類型的方案中都很好地工作
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看