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 步骤传递。 在步骤实现中,我们已经解析了这两个步骤。