Behave - 步骤参数


我们可以在步骤名称中包含参数。这些参数可以由正则表达式或默认或扩展解析器在 use_step_matcher 方法的帮助下处理。

Behave.use_step_matcher(名称)

修改解析步骤文本时的参数匹配器。Behave 中有多个内置解析器,如下所述 -

  • parse - 它提供了一个简单的解析器,可以使用简单的语法恢复步骤参数的正则表达式。例如,{参数:类型}。它允许使用类型转换器进行类型转换。

  • cfparse - 它具有基数字段(CF)支持。默认情况下,它会为连接的基数生成缺失的类型转换器(如果给出的基数等于 1 的类型转换器)。它可以支持以下解析表达式 -

    {values:Type+} – 基数=1..N,很多

    {值:类型*} – 基数=0..N,many0

    {values:Type?} – 基数=0..1,可选

    它允许使用类型转换器进行类型转换。

  • re - 它利用完整的正则表达式来解析子句。我们必须借助命名组 (? P<name>...) 来声明从文本中获得的变量,然后将其提供给步骤 ()。

在 register_type 方法的帮助下,我们可以拥有自定义的匹配器以及新的数据类型。

Behave.register_type(w)

注册用户定义的类型,以便在步骤匹配时的类型转换期间进行解析。

类behaviour.matchers.Matcher(func,pattern,step_type=None)

它从步骤名称中提取参数。

  • 模式 - 与阶跃函数关联的模式匹配。

  • func - 与模式关联的阶跃函数。

  • check_match(step) - 与提供的步骤名称匹配。

  • describe(schema=None) - 以函数或匹配器对象的文本形式给出描述。

  • regex_pattern:生成所使用的文本正则表达式。

类behavior.model_core.Argument(开始,结束,原始,值,名称=名称)

使用步骤装饰器参数获得的特征文件中步骤名称的参数。

属性如下 -

  • Original - 步骤名称中匹配的原始文本。

  • value - 类型转换后的参数值。

  • name - 参数名称。如果未给出参数,则该值设置为 None。

  • start - 步骤名称中参数的起始索引。

  • end - 步骤名称中参数的结束索引。

类behavior.matchers.Match(func,arguments=None)

特征文件中的步骤,通过步骤装饰器参数进行参数匹配并获得。

属性如下 -

  • func - 适用于给定匹配的步骤函数。

  • 参数 - 参数列出具有从步骤名称获取的匹配参数的实例。