- Behave 教程
- Behave - 首頁
- Behave - 簡介
- Behave - 安裝
- Behave - 命令列
- Behave - 配置檔案
- Behave - 特性測試設定
- Behave - Gherkin 關鍵字
- Behave - 特性檔案
- Behave - 步驟實現
- Behave - 初步步驟
- Behave - 支援的語言
- Behave - 步驟引數
- Behave - 場景大綱
- Behave - 多行文字
- Behave - 設定表
- Behave - 步驟中的步驟
- Behave - 背景
- Behave - 資料型別
- Behave - 標籤
- Behave - 列舉
- Behave - 步驟匹配器
- Behave - 正則表示式
- Behave - 可選部分
- Behave - 多方法
- Behave - 步驟函式
- Behave - 步驟引數
- Behave - 執行指令碼
- Behave - 排除測試
- Behave - 重試機制
- Behave - 報告
- Behave - 鉤子
- Behave - 除錯
- Behave 有用資源
- Behave - 快速指南
- Behave - 有用資源
- Behave - 討論
Behave - 正則表示式
讓我們總體瞭解一下正則表示式的語法:
點 (.) - 等價於任何字元。
脫字元 (^) - 等價於字串開頭。(^…)
美元符號 ($) - 等價於字串結尾。 (…$)
| - 表示式 x| y,匹配 x 或 y。
\ - 跳脫字元。
\. - 匹配點。(.)
\\ - 匹配反斜槓。(\)
[…] - 宣告一組字元。([A-Za-z])
\d - 匹配數字。([0-9])
\D - 匹配非數字。
\s - 匹配空白字元。
\S - 匹配非空白字元。
\w - 匹配字母數字。
\W - 匹配非字母數字。
(…) - 對正則表示式的模式進行分組。
\number - 透過索引匹配先前組的文字。(\1)
(? P<name>…) - 匹配模式並將結果儲存在 name 引數中。
(?P=name) - 匹配先前組名稱匹配的所有文字。
(?:…) - 匹配模式,但不能捕獲文字。
(?#...) - 註釋(不被考慮)。描述模式的細節。
如果需要字元、字元集或組重複多次,則必須提供正則表示式模式的基數。
? : 基數為 0... 1 的模式:非必需(問號)
- : 基數為 0 或更多的模式,0..(星號)
+ - : 基數為 1 或更多的模式,1..(加號)
{n}: 匹配模式 n 次重複。
{a ,b}: 匹配模式 a 到 b 次重複。
[A-Za-z]+ : 匹配多個字母字元。
特性檔案中可能存在步驟,這些步驟具有幾乎相同的短語。Behave 具有解析能力。use_step_parser 方法用於此,我們必須將解析器型別作為引數傳遞給該方法。
對於正則表示式匹配器,我們必須傳遞引數 re。引數 (? P<name>...) 用於從步驟定義中獲取引數。
特性檔案(幾乎相同的步驟)
類似步驟的特性檔案如下所示:
Feature − Payment Process
Scenario − Check Debit transactions
Given user is on "debit" screen
Scenario − Check Credit transactions
Given user is on "credit" screen
對應的步驟實現檔案
步驟實現檔案如下所示:
from behave import *
#define parser type
use_step_matcher("re")
#regular expression parsing
@given('user is on "(?P<payment>.*)" screen')
def step_impl(context, payment):
print("Screen type: ")
print(payment)
輸出
執行特性檔案後得到的輸出如下所示。這裡,我們使用了命令behave --no-capture -f plain。
輸出顯示借方和貸方。這兩個值已使用特性檔案中幾乎相同的步驟傳遞。在步驟實現中,我們使用正則表示式解析了這兩個步驟。