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