在 JBehave 中,如何将数组作为参数从故事文件传递到步骤文件?

In JBehave, how do I pass an array as a parameter from a story file to a step file?

我一直在阅读 JBehave 文档,但没有找到任何与此特定用例相关的内容。我找到的最接近的是 this 参数化场景,但这并不是我想要的。我不需要使用不同的参数多次 运行 相同的逻辑,我需要使用一组参数 运行 一次步骤逻辑。具体来说,我需要传递数字 1-4 的组合。有没有办法做到这一点?

你是说 Tabular Parameters 吗?

你可以这样使用它:

Given the numbers: 
|combinations|
|1234|
|4321|
|1324|
When ...

然后:

@Given("the numbers: $numbersTable")
public void theNumbers(ExamplesTable numbersTable) {

    List numbers = new ArrayList();
    for (Map<String,String> row : numbersTable.getRows()) {
        String combination = row.get("combinations");
        numbers.add(combination);
    }
}

我刚刚重写了 jBehave 示例,因此它可以满足您的需要。您可以将任意数量的组合传递到给定、when、then 步骤内的表中,并将其转换为数组或在我的示例中转换为列表。