Specflow>有没有办法在场景之前但在后台之后执行某些逻辑?

时间:2015-06-01 04:04:27

标签: specflow

我有一个包含几个步骤的场景,并且有一个背景大纲,可以将一些初始数据插入到数据库中。

在场景块执行之前,我希望能够启动一个事务。 问题是,我希望事务在后台执行后启动,这样如果场景失败并且我回滚,插入后台的初始数据仍然存在,因为我想对该数据做一些断言。 / p>

我已经尝试使用[BeforeScenario]和[BeforeScenarioBlock]来装饰一个方法(我在其中开始事务),但这些是在背景之前的最开始时触发的。所以这不起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我有一种感觉,目前这是不可能的。你应该能够添加一个[AfterStep]绑定,它将在你的后台步骤后调用,并在后台的最后一步之后做一些事情来解决它。

我记不清楚了,但是您可能无法确定当前版本中实际执行的步骤,但v2版本中有一些内容(其中有一个来自nuget feed的{{3}允许访问ScenarioStepContext,这可能对此有所帮助。

这似乎是一个合理的功能,我不认为[BeforeBackground][AfterBackground]的额外挂钩的拉取请求会被拒绝。暗示。提示。