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