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



我有一个场景,有几个步骤,有一个背景大纲,插入一些初始数据到数据库。

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

我已经尝试用[beforesscenario]和[BeforeScenarioBlock]装饰一个方法(我在其中开始事务),但它们在最开始时被触发,在后台之前。所以这行不通。

任何想法?

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

我记不清楚了,但是你可能会在当前版本中找出实际执行的步骤,但是在v2版本中有一些东西(从这里的nuget提要中有一个测试版),可以访问ScenarioStepContext,这可能会有所帮助。

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

最新更新