如何将示例 table(参数化场景)与普通 "Given" 语句一起使用

how to use Example table (Parametrised Scenarios) with normal "Given" statement

当我尝试 运行 下面的故事文件时,语句“a stock of ”执行两次,但我希望此执行只发生一次并声明“带有 sds id = 和 swift bic = 的参考数据数据库表记录”应该执行两次。

Scenario: Parametrised Scenarios Test

Given scenario parameter - swiftBic = JBEHAVEXXX
Given scenario parameter - receiverBic = JBEHAVEYYY
Given scenario parameter - extSdsId = 1111
Given scenario parameter - sdsId = 22222

Given reference data databasetable record <alias> with sds id = <sId> and swift bic = <bic>
Given a stock of.

Examples:
|alias  |sId            |bic            |
|DEF    |${sdsId}       |${swiftBic}    |
|DEFF   |${extSdsId}    |${receiverBic} |

在 cucumber 中使用 Examples 是使用不同数据两次编写相同场景的快捷方式。所以你上面的代码等同于:

Scenario: test with fisrt set of data 
    Given reference data databasetable record DEF with sds id = 2222 and swift bic = JBEHAVEXXX
    Given a stock of.

Scenario: test with second set of data 
    Given reference data databasetable record DEF with sds id = 1111 and swift bic = JBEHAVYYY
    Given a stock of.

因此,如果您只想在无法使用 Example 快捷方式时执行 Given a stock of. 步骤,则必须有两个具有显式步骤的独立场景。