我正在使用behave灯具在测试运行期间创建一个计数器。我在before_all
钩子中初始化计数器,然后在每次运行场景时在before_scenario
中增加它。
我认为before_all
在整个测试期间运行一次,如果将一个变量添加到上下文中,它可以在以后使用。
这里我在context.i = 0
初始化before_all
,但是每次运行一个场景时before_scenario
,context.i
的值再次设置为0。
environment.朋友
def before_all(context):
context.i = 0
def before_scenario(context, scenario):
context.i = context.i + 1
我希望每次运行都增加i
。但它始终设置为1
。
上下文用户变量,在before_scenario中定义,仅在方案lifycycle中可访问。当跑步者开始下一个场景时,在最后一个场景中定义的context.i
不再存在,因此它使用在before_all钩子中定义的变量。我猜你不能改变在before_all钩子中定义的上下文用户变量。