IT 邦鐵人賽 Day 26 - Gherkin 的 Keywords
前一天介紹了 BDD 的測試框架 Cucumber,而該測試框架的規格書所使用的是 Gherkin,利用人類自己的文字,提升團隊的參與。其中 Gherkin 裡的 Keywords 正是扮演了舉足輕重的角色,今天我們就來詳細介紹這些 Keywords:
Feature
主要是描述測試的功能,通常後面會接一個清楚的功能名稱,接著底下可以選擇性地寫些描述,用來說明功能意義或是寫上一些商業邏輯。
Scenario / Example
在這部分,主要是在後面接上一個簡明扼要的標題,用來敘述這個 Feature 的具體情境。
使用 Scenario 或是 Example 都一樣,兩者是同意的。圖片範例中的 Scenario 也可以換成 Example 。
通常一個 Feature 底下,可能會有好幾個 Scenario / Example ,而每一個 Scenario / Example 是由 3 - 5 個 steps 所組成。建議 steps 最多 5 個就好,以免導致可讀性下降。
這裡指的 steps 是接下來要介紹的 given, when, then, and, but。
Given
用作描述情境條件,或是一個在行為開始之前系統須先準備好的資料,也就是行為開始前的條件預設。
在開始測試時,系統會先將 given 給予的條件產生相對應的物件或資料庫內的資料,好讓系統先處於一個準備好的狀態。
When
用來描述行為的開始、執行或是事件的發生。
這可以是使用者與系統之間的互動,也可以是被其他系統觸發所產生的事件。
建議讀者在每個 Scenario 裡,只要有一個 When 就好,如果覺得一個 When 不夠用的話,那可能要考慮將這個 Scenario 拆成兩個以上的 Scenario。
Then
這個比較單純一點,就是用來描述輸出的結果、預期的值。
And, But
當我們的 Given, When, Then 需要兩個以上時
就會使用 And 或 But 來代替,並依照語意,決定要用 And 還是 But。
此外,我們還可以使用星號 * 來取代 And 跟 But。
小結
今天主要是介紹最主要的 Keywords,如果想瞭解更多,可以到 Gherkin 的官網閱讀文件。接下來我們要來介紹 Cucumber 框架啦~