我正在运行多个场景,并希望合并某种动态场景调度程序,这将允许我在基于执行的场景完成测试后执行特定的步骤。当我使用 PHPUnit 时,我曾经能够继承 TestCase 类并添加我自己的设置和拆卸方法。对于表现,我一直在做的是在场景结束时添加一个额外的“然后”步骤,一旦场景完成清理所有内容,就会执行该步骤 - 清理场景所做的配置更改等。但是由于每个场景不同的是,我需要进行的配置更改特定于某个场景,因此我无法使用 environment.py 文件中的 after_scenario 挂钩。关于如何实现类似的任何想法?
问问题
648 次
2 回答
0
after_scenario
将两种情况都传递给函数。然后,您可以在场景名称或其任何标签上进行调度。例如,使用标签,您可以将场景定义为
@clean_up
Scenario: Something
...
而你的后听众为
def after_scenario(context, scenario):
if 'clean_up' in scenario.tags:
...
elif 'clean_down' in scenario.tags:
...
于 2016-07-14T02:58:25.957 回答
0
我一直在做的事情可能会给你一个想法:
在 before_all 中指定上下文中的列表(例如 context.teardown_items =[])。
然后在各种场景的各个步骤中添加到该列表(帐户、订单或其他)
然后在 after_all 中,我以超级用户身份登录并清理我在该列表中指定的所有内容。
类似的东西对你有用吗?
于 2016-07-28T17:58:37.383 回答