Behave 步匹配器
Behave 中有三种类型的 步骤 Matcher。它们解释如下:
-
ParseMatcher(解析):基于解析模块。
-
扩展 ParseMatcher(cfparse): 允许基数语法。
-
RegexMatcher(re):基于正则表达式进行模式匹配。
解析匹配器
它是内置的 步进匹配器 它具有以下提到的功能:
-
易于使用和理解。
-
预定义和用户定义的数据类型支持此匹配器。
-
在数据类型的帮助下重新利用正则表达式。
-
隐藏正则表达式的复杂性。
扩展解析匹配器
它扩展了 Parse Matcher。它具有附加功能以及 Parse 匹配器的功能。
附加功能包括:
-
理解基数字段语法。
-
为具有基数字段部分的字段生成缺少的类型转换器。
-
建立在解析类型上。
正则表达式匹配器
它具有以下特点:
-
向后兼容 Cucumber。
-
与解析匹配器相比,更易于使用。
让我们详细了解解析匹配器。
解析匹配器
功能文件中的步骤可能具有几乎相似的短语。 Behave具有解析能力。方法 use_step_parser 用于此,我们必须将解析器类型作为参数传递给该方法。
对于解析匹配器,我们必须传递参数解析。它利用 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 .
输出显示 debit and credit .这两个值已通过特征文件中几乎相似的给定步骤传递。在步骤实现中,我们已经解析了这两个步骤。