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: 参数列出了从步骤名称中获取的具有匹配参数的实例。