【发布时间】:2021-04-29 11:23:06
【问题描述】:
我一直在使用 specflow 的场景大纲,您可以在其中将表格定义为步骤下方的示例。
我最近看到表格用于场景而不是场景大纲。为什么要使用表格而不是场景大纲示例?
桌子有什么好处?据我所知,与类型化参数相比,您的字典几乎没有类型安全性?
我确定我错了,但使用带有标签的场景大纲似乎更好。我确定我在这里遗漏了一些东西。
【问题讨论】:
我一直在使用 specflow 的场景大纲,您可以在其中将表格定义为步骤下方的示例。
我最近看到表格用于场景而不是场景大纲。为什么要使用表格而不是场景大纲示例?
桌子有什么好处?据我所知,与类型化参数相比,您的字典几乎没有类型安全性?
我确定我错了,但使用带有标签的场景大纲似乎更好。我确定我在这里遗漏了一些东西。
【问题讨论】:
场景大纲 (https://docs.specflow.org/projects/specflow/en/latest/Gherkin/Gherkin-Reference.html#scenario-outline) 和表(称为数据表 - https://docs.specflow.org/projects/specflow/en/latest/Gherkin/Gherkin-Reference.html#data-tables)是两个完全不同的东西。
Scenario Outlines 让您可以参数化您的 Scenario,这样您就不必多次重复 Scenario,只需进行微小的更改。
表格是您的步骤定义的参数。这使您能够以更结构化的方式将更多参数传递给步骤定义。
是的,您可以以非类型安全的方式访问表。要获得更安全的 API,您可以使用 SpecFlow.Assist 命名空间中的扩展方法。你可以在https://docs.specflow.org/projects/specflow/en/latest/Bindings/SpecFlow-Assist-Helpers.html阅读更多关于它的信息
【讨论】: