Behave - 步骤参数
我们可以在步骤名称中包含参数。 在 use_step_matcher 方法的帮助下,这些参数可以由正则表达式或默认或扩展的解析器处理。
behave.use_step_matcher(name)
修改解析步骤文本中的参数匹配器。 Behave 中存在多个内置解析器,如下所述 −
parse − 它提供了一个简单的解析器,可以使用简单的语法恢复步骤参数的正则表达式。 例如,{parameter: type}。 它允许使用类型转换器进行类型转换。
cfparse − 它有基数字段(CF)支持。 默认情况下,它会为连接的基数生成缺少的类型转换器(如果给出了等于 1 的基数类型转换器)。 它可以支持以下解析表达式 −
{values:Type+} – Cardinality=1..N, many
{values:Type*} – Cardinality=0..N, many0
{values:Type?} – Cardinality=0..1, optional
它允许使用类型转换器进行类型转换。
re − 它使用完整的正则表达式来解析子句。 我们必须借助命名组 (? P<name>…) 来声明从文本中获得的变量,然后将其提供给步骤 ()。
在 register_type 方法的帮助下,我们可以将自定义匹配器与新数据类型一起使用。
behave.register_type(w)
注册一个用户定义的类型,用于在步骤匹配时的类型转换期间进行解析。
class behave.matchers.Matcher(func, pattern ,step_type=None)
它从步骤名称中提取参数。
pattern − 与 step 函数相关联的模式匹配。
func − step 函数是与模式相关联的。
check_match(step) − 与提供的步骤名称匹配。
describe(schema=None) − 以文本形式给出函数或匹配器对象的描述。
regex_pattern:产生使用的文本正则表达式。
class behave.model_core.Argument(start, end, original, value, name=Name)
通过步骤装饰器参数获得的特征文件中步骤名称的参数。
属性如下 −
original − 步骤名称匹配的原文。
value − 类型转换后的参数值。
name − 参数名称。 如果未给出参数,则该值设置为 None。
start − 步骤名称中参数的起始索引。
end − 步骤名称中参数的结束索引。
class behave.matchers.Match(func, arguments=None)
特征文件中的一个步骤,通过步骤装饰器参数进行参数匹配得到。
属性如下 −
func − 适用于给定匹配的步骤函数。
arguments − 参数列出具有从步骤名称中获得的匹配参数的实例。