将自定义方法放入 Behave 的 environment.py

Put custom methods in Behave's environment.py

我正在尝试将自定义方法放入 Behave 的 environment.py 中,该方法会将自动测试的结果发送到 JIRA。它将在 after_scenario()after_feature() 中。所以我希望它在关闭测试后将结果发送给 JIRA。

似乎environment.py中的那些方法只接受属于contextclass的方法。那正确吗?这个问题有任何解决方法吗?

方法应具有精确的名称和参数,如 Behave's API reference 中所示。但是,没有什么能阻止您在这些挂钩中调用您自己的方法。

像这样:

def after_feature(context, feature):

    send_feature_results_to_jira(context, feature)

您在 "environment.py" 中的函数可以有任何您喜欢的参数。只有钩子具有指定的签名(与任何 API 函数一样)。因此,如果特征对象足以满足您的处理,您应该避免要求某人也传递上下文对象。