在黄瓜示例数据表中是否可以使用变量?

时间:2020-04-25 15:23:37

标签: cucumber cucumber-jvm

基本上,我正在寻找一种在Cucumber示例数据表中使用某种Java变量的方法。因此,执行后,当生成报告时,我应该能够查看用作特定步骤一部分的变量的当前值,而不是引用的数据表单元格。 例如,考虑今天的日期或时间戳,因为我不想对这些变量进行硬编码。不使用变量,所有情况看起来都是相同的。

1 个答案:

答案 0 :(得分:0)

您要的不是好习惯,相反。

当代码依赖于当前日期时间时,最好模拟一下当前日期时间以进行测试。

您可以将当前日期时间作为参数传递,也可以将其插入。

在测试时,您传递一个硬编码的日期时间,这将是测试用例的前提。

在生产环境中运行应用程序时,您将传递当前的实际日期时间。

Java有一个用于模拟当前日期时间的有用类型,称为Clock。

更新:

无论是否模拟日期时间,您都不能在Cucumber方案中使用变量,因为它没有意义。 BDD旨在提供带有具体数据的具体示例。方案大纲中使用的变量只是将多个方案组合在一起的一种方法(一种是我们为数据表中的变量提供的值的每种组合)。