Behave - 步骤匹配器

Behave 中有三种类型的步骤匹配器。 它们在下面解释 −

  • ParseMatcher (parse) − 基于解析模块。

  • extended ParseMatcher(cfparse) − 允许使用基数语法。

  • RegexMatcher (re) − 基于匹配模式的正则表达式。

ParseMatcher 解析匹配器

它是内置的 步骤匹配器,具有以下功能:

  • 易于使用和理解。

  • 预定义和用户定义的数据类型支持此匹配器。

  • 借助数据类型重新利用正则表达式。

  • 隐藏正则表达式的复杂性。

extended ParseMatcher 扩展解析匹配器

它扩展了解析匹配器。 除了 Parse 匹配器的功能外,它还具有其他功能。

附加功能包括 −

  • 了解基数字段语法。

  • 为具有基数字段部分的字段生成缺少的类型转换器。

  • 基于解析类型。

RegexMatcher 正则表达式匹配器

它具有以下特点 −

  • 向后兼容 Cucumber。

  • 与解析匹配器相比更易于使用。

让我们详细了解解析匹配器。


解析匹配器

特征文件中的步骤可能具有几乎相似的短语。 Behave 具有解析能力。 use_step_parser 方法用于此,我们必须将解析器类型作为参数传递给该方法。

对于解析匹配器,我们必须传递参数parse。 它利用 parse 进行正则表达式解析和匹配。

Feature File(几乎给定相似步骤)

类似步骤的特征文件如下 −

Feature − Payment Process
Scenario − Check Debit transactions
      Given user is on "debit" screen
      When user makes a payment
Scenario − Check Credit transactions
      Given user is on "credit" screen

对应步骤实现文件

步骤实现文件如下 −

from behave import *
#define parser type
use_step_matcher("parse")
@given('user is on "{p}" screen')
def step_impl(context, p):
   print(p)
@when('user makes a payment')
def step_pay_complete(context):
   pass

输出

运行特征文件后得到的输出如下。 在这里,我们使用了命令 behave --no-capture -f plain

步骤匹配器

输出显示debit(借方)credit(贷方)。 这两个值已经通过特征文件中几乎相似的 Given 步骤传递。 在步骤实现中,我们已经解析了这两个步骤。