Behave 步骤匹配器
在Behave中,有三种类型的步骤匹配器。它们的解释如下
- ParseMatcher (parse) – 基于parse模块。
-
扩展的ParseMatcher(cfparse) – 允许使用心率语法。
-
RegexMatcher (re) – 基于正则表达式的模式匹配。
解析匹配器
它是内建的 步骤匹配器 ,具有以下提到的特点。
- 简单的使用和理解。
-
预定义和用户定义的数据类型支持这个匹配器。
-
在数据类型的帮助下重新利用正则表达式。
-
掩盖了正则表达式的复杂性。
扩展的Parse匹配器
它扩展了Parse匹配器。它与Parse匹配器的功能一起具有额外的功能。
这些附加功能包括
- 理解cardinality字段的语法。
-
为具有cardinality字段部分的字段生成缺失类型转换器。
-
建立在parse-type之上。
Regex匹配器
它有以下特点
- 向后兼容Cucumber。
-
与解析匹配器相比,更容易使用。
让我们详细了解一下解析匹配器。
解析匹配器
在特征文件中,可能有一些步骤的短语几乎相似。Behave具有解析的能力。 use_step_parser 方法用于此,我们必须将解析器类型作为参数传给该方法。
对于解析匹配器,我们必须传递参数parse。它利用parse进行正则表达式的解析和匹配。
特征文件(几乎鉴于类似的步骤)
类似步骤的特征文件如下:
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 .
输出显示 借方 和 贷方。 这两个值在特征文件中几乎是以类似的Given步骤传递的。在执行步骤中,我们解析了这两个步骤。