Behave - 步骤匹配器


Behave 中有三种类型的步骤匹配器。它们的解释如下:

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

  • 扩展的 ParseMatcher(cfparse) - 允许基数语法。

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

解析匹配器

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

  • 易于使用和理解。

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

  • 在数据类型的帮助下重新利用正则表达式。

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

扩展解析匹配器

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

附加功能包括 -

  • 理解基数字段语法。

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

  • 建立在解析类型之上。

正则表达式匹配器

它具有以下特点 -

  • 向后兼容 Cucumber。

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

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

解析匹配器

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

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

特征文件(几乎给出了类似的步骤)

类似步骤的功能文件如下 -

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

输出

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

步骤匹配器

输出显示借方贷方。这两个值已通过功能文件中几乎相似的给定步骤传递。在步骤实现中,我们已经解析了这两个步骤。