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