【问题标题】:Put custom methods in Behave's environment.py将自定义方法放入 Behave 的 environment.py
【发布时间】:2017-12-14 02:40:07
【问题描述】:
我正在尝试将自定义方法(将自动测试结果发送到 JIRA)放在 Behave 的 environment.py 中。它将位于after_scenario() 或after_feature()。所以我希望它在结束测试后将结果发送给 JIRA。
似乎environment.py 中的那些方法只接受属于context 类的方法。那正确吗?有没有解决这个问题的方法?
【问题讨论】:
标签:
python
selenium
automated-tests
cucumber
python-behave
【解决方案1】:
这些方法应该有精确的名称和参数,如Behave's API reference 所示。但是,没有什么能阻止您在这些钩子中调用自己的方法。
类似这样的:
def after_feature(context, feature):
send_feature_results_to_jira(context, feature)
【解决方案2】:
“environment.py”中的函数可以具有您希望它们具有的任何参数。只有钩子具有指定的签名(与任何 API 函数一样)。因此,如果特征对象足以满足您的处理需求,则应避免要求某人也传递上下文对象。