Specflow 中的表是否与步骤定义或特征文件相关联?

Are tables in Specflow tied to Step Definitions or the Feature File?

我查看了 Specflow 和 Cucumber 的文档,但找不到这个问题的明确答案。比方说,我有一个 [Given] 步骤,其中 table 充满了这样的输入:

Given I login with a <pin> and it is a valid <user role>
| PIN    | User Role |
| 111111 | Admin     |
| 222222 | User      | 

我的主要问题是,如果我在其他功能文件中重复使用此步骤,我是否必须在每次使用时重新复制 table,或者 table 是否与全局访问的步骤定义一起移动?

我正在为我的公司从头开始设计 Specflow 解决方案,并且我正在努力尽可能坚持 DRY。因此,为可重复使用的共享步骤奠定基础是我的首要目标。我可能把这个问题想得太多了,以至于我只见树木不见森林,但我喜欢用通俗易懂的语言来阐述这些细节,因为它可以帮助我更好地学习。因此,我们将不胜感激。

如果您在另一个功能文件中使用完全相同的步骤,则无需复制。相同的步骤定义在您的特征文件中是全局的,因此数据也是如此。每一步都应该完全相同。如果您在步骤中更改了一个字母,则必须生成另一个步骤定义。