BDD - Specflow Bindings
什么是 Binding
Gherkin feature 文件更接近于自由文本而不是代码,他们不能按原样执行。将需求说明书关联到应用接口的 Automation 应该优先开发。而将 Gherkin Scenarios 中的 step 关联到代码实现的 Automation 就称为一个 binding。binding 类和方法可以定义在 SpecFlow 项目中,或则 external binding assemblies.
Bindings 的类型
Spec 有两种 bindings
Step Definitions
这个是最重要的 binding 类型。step definition 是将 scenario step 级别自动化。这意味着每个 binding 类不用自动化整个 scenario,它只需自动化每个独立的 steps。这样的好处是这些 step definitions 可以被其它 scenarios 重用。使得一些 scenarios 可以利用已有的 steps,来提高工作效率。最好的实践是按功能分门别类建 Bindings 类,这样结构上更清晰,有利用提高 Automation 代码质量和效率。
必须在 step definition 类中添加 [Binding]
属性,才能将 scenario 中的 step 跟 代码实现联系起来。
hooks
Hook 可用来执行一些额外的自动化逻辑,针对一些特定的事件,例如:在执行 一个 scenario 之前,需要一些数据准备或数据清理。
Bindings 是全局共享的
注意:Bindings 不管是 step definistions 还是 hooks 在整个 SpecFlow 项目中都是全局共享的