Java Cucumber:使用动态示例创建方案大纲

时间:2018-12-13 18:15:50

标签: java cucumber outline

我们进行了一次测试,基本上我们需要在网站中输入特定值,并确保出现另一个值。为此的输入输出数据存储在XML文件中。

现在,我们可以创建一个场景,该场景运行一次并循环遍历,提交每个值,但是我们遇到一些报告问题,如果每100对中有2对失败,我们不仅想知道哪个对,而且不存在断言错误。整个场景。

我们将使用方案大纲(其中所有值都在示例表中)来获得更清晰的报告。那么场景本身会反复运行,我们可以将单个集合作为断言错误而失败,并在报告中清楚地将其取消。

问题:我们不想将xml中的所有值硬编码到.feature中。这很嘈杂,但是如果值更改,则更新速度很慢。我们宁愿只提供XML解析并继续使用,如果情况发生变化,我们只需放入更新的XML。

是否有一种方法可以创建动态示例,使我们可以重复运行该方案(每个数据案例一个),而无需在examples表中明确定义它?

2 个答案:

答案 0 :(得分:1)

为此,使用黄瓜是一个坏主意。您应该使用单元测试来降低堆栈的功能。

在代码中的某些时候,用户输入了他们的值之后,该值将被传递到将返回您的答案的方法/函数。在这里进行这种测试。

贯穿整个堆栈的黄瓜测试将比编写良好的单元测试慢3个数量级。这样一来,您可以在一次测试中花费数以千计的值来测试单元测试中的数千对值。

如果您在Cucumber中进行这种测试,您将很快获得测试套件,该套件花费的时间太长,或者只能以高昂的代价快速运行。这对项目非常有害。

结块应该是一条快乐的道路(用户可以输入一个值并查看结果),也可能是一条悲伤的道路(用户输入一个错误的值并看到错误/解释)。其他任何内容都需要下推到单元测试中。

答案 1 :(得分:0)

NoraUi框架完全可以完成您在项目中想要做的事情。 NoraUi代码是开源的。如果您对此框架有疑问,可以发布带有“ Question”标签的问题