Behave - 步驟引數



我們可以在步驟名稱中包含引數。這些引數可以透過正則表示式或使用 use_step_matcher 方法的預設或擴充套件解析器來處理。

behave.use_step_matcher(name)

修改解析步驟文字時的引數匹配器。Behave 中存在多個內建解析器,如下所述:

  • parse - 它提供了一個簡單的解析器,使用簡單語法為步驟引數恢復正則表示式。例如,{parameter: type}。它允許使用型別轉換器進行型別轉換。

  • cfparse - 它支援基數字段 (CF)。預設情況下,它會為連線的基數生成缺失的型別轉換器(如果給出了基數等於一的型別轉換器)。它可以支援以下解析表示式:

    {values:Type+} – 基數=1..N,多

    {values:Type*} – 基數=0..N,多0

    {values:Type?} – 基數=0..1,可選

    它允許使用型別轉換器進行型別轉換。

  • re - 它利用完整的正則表示式來解析子句。我們必須藉助命名組 (? P<name>…) 來宣告從文字中獲得的變數,然後將其饋送到 step()。

我們可以使用 register_type 方法,結合自定義匹配器和新的資料型別。

behave.register_type(w)

在步驟匹配期間型別轉換時,註冊使用者定義的型別以進行解析。

class behave.matchers.Matcher(func, pattern ,step_type=None)

它從步驟名稱中提取引數。

  • pattern - 與步驟函式關聯的模式匹配。

  • func - 步驟函式是模式關聯的。

  • check_match(step) - 與提供的步驟名稱匹配。

  • describe(schema=None) - 以文字形式提供函式或匹配器物件的描述。

  • regex_pattern: 產生所使用的文字正則表示式。

class behave.model_core.Argument(start, end, original, value, name=Name)

使用步驟裝飾器引數從特性檔案中獲得的步驟名稱的引數。

屬性如下:

  • original - 在步驟名稱中匹配的原始文字。

  • value - 已進行型別轉換的引數值。

  • name - 引數名稱。如果未給出引數,則該值設定為 None。

  • start - 引數在步驟名稱中的起始索引。

  • end - 引數在步驟名稱中的結束索引。

class behave.matchers.Match(func, arguments=None)

特性檔案中進行引數匹配並使用步驟裝飾器引數獲得的步驟。

屬性如下:

  • func - 適用於給定匹配的步驟函式。

  • arguments - 引數列表,其中包含從步驟名稱中獲得的匹配引數的例項。

廣告

© . All rights reserved.