Behave 简明教程
Behave - Step Matchers
Behave 中有三种类型的 Step Matcher。它们如下所示 −
-
ParseMatcher (parse) − 基于 parse 模块。
-
extended ParseMatcher(cfparse) − 允许基数语法。
-
RegexMatcher (re) − 基于用于匹配模式的正则表达式。
Parse matcher
内置的 step matcher 具有以下所述特性:
-
使用和理解简单。
-
预定义和用户定义的数据类型支持此匹配器。
-
借助数据类型重新利用正则表达式。
-
隐藏正则表达式的复杂性。
extended Parse matcher
它扩展了 Parse Matcher。它除了具有 Parse 匹配器的特性外,还具有其他特性。
其他特性包括 −
-
理解基数字段语法。
-
为具有基数字段部分的字段生成缺失的类型转换器。
-
Built on parse-type.
Parse Matchers
功能文件中可能会有几乎具有类似短语的步骤。Behave 具有解析能力。方法 use_step_parser 用于此操作,我们必须将解析器类型作为参数传递给该方法。
对于解析匹配器,我们必须传递参数解析。它利用解析进行正则表达式解析和匹配。
Feature File (almost Given similar steps)
相似步骤的功能文件如下所示 −
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
Corresponding Step Implementation File
步骤实现文件如下所示 −
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
Output
运行功能文件后获得的输出如下。这里,我们使用了命令 behave --no-capture -f plain 。
输出显示 debit 和 credit 。这两个值几乎与功能文件中的 Given 步骤类似而传递。在步骤实现中,我们解析了这两个步骤。