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