基本上,我在寻找在Cucumber示例数据表中使用某种Java变量的方法。因此,在执行后,在生成报表时,我应该能够查看作为特定步骤的一部分而不是引用的数据表单元格使用的变量的当前值。例如,考虑一下今天的日期或时间戳,因为我不想硬编码这些变量。如果不使用变量,所有场景看起来都是一样的。
发布于 2020-04-30 11:40:46
你所要求的不是一个好的做法,恰恰相反。
当代码依赖于当前日期时间时,为了测试目的而模拟当前日期时间是一种很好的做法。
您可以将当前的日期时间作为参数传递,也可以将其注入。
在测试时,您将传递一个硬编码的日期时间,这将是测试用例的先决条件。
在生产中运行应用程序时,您将传递实际的当前日期时间。
Java有一种用于模拟当前日期时间的有用类型,称为Clock。
更新:
无论模拟日期时间与否,您都不能在Cucumber场景中使用变量,因为它没有意义。BDD是关于提供具体的例子和具体的数据。场景大纲中使用的变量只是将多个场景组合在一起的一种方法(我们为datatable中的变量提供的每个值组合都有一个)。
https://stackoverflow.com/questions/61427975
复制相似问题