如何从黄瓜外部文件中读取数据,而不是在示例部分提及大量数据?我正在使用Cucumber-jvm

时间:2015-08-14 06:17:15

标签: cucumber-jvm cucumber-java

@@file_name Feature: Addition

为了避免愚蠢的错误   作为一个数学白痴   我希望被告知两个数字的总和

场景:添加两个数字

Given I have entered @number1 into the calculator
And I have entered @number2 into the calculator
When I press Add
Then the result should be @total1 on the screen

Scenarion:添加后的乘法

Given the total is @total1
When multiply it with @number3
Then the result should be @total2 on the screen

我有一个xls文件,其中包含total1 total 2number 1number 2number 3等字母。

2 个答案:

答案 0 :(得分:2)

这样做通常很有吸引力并且引用外部文件来获取数据,但是,这样做会完全松开BDD的利益相关者之间的沟通。

如果它真的像添加2这样的数字一样简单,您可以使用场景大纲/示例:https://github.com/cucumber/cucumber/wiki/Scenario-Outlines

否则,问问自己你在这里尝试使用Cucumber做了什么,因为如果要隐藏Excel中的示例,我不确定是否值得添加此图层文件。我建议你选择一个在适当的场景中实现的例子。对于其他示例,编写常规Junit测试以从文件中读取并从中获取数据并在测试中运行代码,方法与步骤定义相同

答案 1 :(得分:2)

AAARG!似乎数据表https://docs.cucumber.io/gherkin/reference/#data-tables)和示例之间的区别:表(仅 ever { {3}} )完全被这个线程上的人所迷失。您可以消除对外部电子表格的任何感知需求的方法是,将数据表放在功能文件中。这样,就没有外部依赖关系会在以后造成维护麻烦。都在功能文件中,它在其中。