gpt4 book ai didi

c# - 在 SpecFlow 中运行 [BeforeScenario] 时由什么决定?

转载 作者:行者123 更新时间:2023-11-30 20:44:03 25 4
gpt4 key购买 nike

我最近开始了一个使用 SpecFlow 的现有项目。

我在 BaseSteps.cs 中添加了一个带有 [BeforeScenario] 的方法来执行一些日志记录。 BaseSteps.cs 的类没有 [Binding] 属性,但派生类有 [Binding]

但是,example.feature 可以使用来自不同DerivedSteps.cs 类的步骤。在这些情况下,[BeforeScenario] 在该功能的单个场景中被多次调用。

为什么会这样?什么是针对单个场景多次调用 BeforeScenario?

最佳答案

一些代码可能有助于识别问题,但派生步骤类可能都具有方法 [BeforeScenario](因为它们继承了它),因此 specflow 为每个派生类调用一次.

在 Specflow 中,通常不需要涉及任何继承,因为所有步骤都是全局的并且可以从任何地方访问,所以只需将您的 [BeforeScenario] 移到它自己的类中,敲一个 [ Binding] 属性,Specflow 会找到并使用它。

关于c# - 在 SpecFlow 中运行 [BeforeScenario] 时由什么决定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29850943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com