我有一个包含几个步骤的场景,并且有一个背景大纲,可以将一些初始数据插入到数据库中。
在场景块执行之前,我希望能够启动一个事务。 问题是,我希望事务在后台执行后启动,这样如果场景失败并且我回滚,插入后台的初始数据仍然存在,因为我想对该数据做一些断言。 / p>
我已经尝试使用[BeforeScenario]和[BeforeScenarioBlock]来装饰一个方法(我在其中开始事务),但这些是在背景之前的最开始时触发的。所以这不起作用。
有什么想法吗?
答案 0 :(得分:1)
我有一种感觉,目前这是不可能的。你应该能够添加一个[AfterStep]
绑定,它将在你的后台步骤后调用,并在后台的最后一步之后做一些事情来解决它。
我记不清楚了,但是您可能无法确定当前版本中实际执行的步骤,但v2版本中有一些内容(其中有一个来自nuget feed的{{3}允许访问ScenarioStepContext
,这可能对此有所帮助。
这似乎是一个合理的功能,我不认为[BeforeBackground]
和[AfterBackground]
的额外挂钩的拉取请求会被拒绝。暗示。提示。