BeforeScenarioBlock 仅在 "Given" 语句之前执行
BeforeScenarioBlock to execute only before "Given" statement
基于 SpecFlow documentation,[BeforeScenarioBlock]
挂钩将在 "Given" 和 "When" 语句之前调用。有没有办法让 [BeforeScenarioBlock]
钩子只在 "Given" 语句之前被调用?
A [BeforeScenarioBlock]
将 运行 在场景中的任何 'block' 之前,即在每组单独的 Given
、When
或 [=14= 之前] 块。没有内置的方法来指定一个钩子应该只在特定类型的块之前 运行 我不认为但我相信它应该足够直接以确保代码只 运行 s 在钩子代码中的特定块之前。像这样:
[BeforeScenarioBlock]
public void BeforeScenarioBlock()
{
if (ScenarioContext.Current.CurrentScenarioBlock == ScenarioBlock.Given)
{
//execute the code before the given
}
}
虽然我没有测试过这个。
基于 SpecFlow documentation,[BeforeScenarioBlock]
挂钩将在 "Given" 和 "When" 语句之前调用。有没有办法让 [BeforeScenarioBlock]
钩子只在 "Given" 语句之前被调用?
A [BeforeScenarioBlock]
将 运行 在场景中的任何 'block' 之前,即在每组单独的 Given
、When
或 [=14= 之前] 块。没有内置的方法来指定一个钩子应该只在特定类型的块之前 运行 我不认为但我相信它应该足够直接以确保代码只 运行 s 在钩子代码中的特定块之前。像这样:
[BeforeScenarioBlock]
public void BeforeScenarioBlock()
{
if (ScenarioContext.Current.CurrentScenarioBlock == ScenarioBlock.Given)
{
//execute the code before the given
}
}
虽然我没有测试过这个。