首页 > 解决方案 > 当必须创建大量测试数据时使用 Cucumber Datatables 是否有效

问题描述

在验证预期结果之前,我必须自动化需要大量 pre-Req 数据的场景。例如
场景:场景
1 当我为类型 1 的订单添加数据时
|name | 数量| 价值观|
|一个 |1 | 2 |
我为类型 2 的订单添加数据
|name | 数量| 价值观|计量单位|
|一个 |1 | 2 | 毫克 |
我为类型 3 的订单添加数据
|name | 数量| 价值观|UOM |交付|
|一个 |1 | 2 | 毫克 |首页|

我可以为每个订单创建步骤使用数据表吗?使用数据表会有效还是我应该使用列表。

标签: automationcucumbercucumber-java

解决方案


当你不应该把你的数据放在你的功能文件中时。相反,您应该命名您的数据并使用该名称引用功能文件中的数据。

然后,您可以在步骤定义中的代码中定义您的数据,(或者更好的是在辅助方法中)。

这使您可以编写专注于您正在做什么以及为什么重要的功能,而不是您如何做某事。

如果你对表达你在做什么以及为什么它很重要不感兴趣,你可能不应该打扰使用 Cucumber,而是使用单元测试工具。在单元测试中处理复杂数据要容易得多,因为单元测试是用代码编写的,因此您可以轻松地执行以下操作

  • 从其他地方导入数据
  • 使用循环构造数据
  • 使用结构来定义数据
  • ...

推荐阅读