如何将 table 与 .feature 文件分开(空手道框架)

How to separate table from .feature file (karate framework)

这是一个简单的例子:

 Scenario: Table example
    * table dogs
      | name      | age |
      | 'Charlie' | 2   |
      | 'Jack'    | 4   |
      | 'Rock'    | 9   |
    * match dogs == [{name: 'Charlie', age: 2}, {name: 'Jack', age: 4}, {name: 'Rock', age: 9}]

是否可以将 table 移动到另一个文件,然后直接导入?如果是,具体如何?

提前致谢

对于这个用例,我建议使用 JSON 而不是 table,它将很好地导入,并且具有被大多数 IDE-s 等编辑 table 的优势.

* def dogs = read('dogs.json')
* match dogs == [{name: 'Charlie', age: 2}, {name: 'Jack', age: 4}, {name: 'Rock', age: 9}]

你也可以这样做:

* call read('dogs.feature')
* match dogs == [{name: 'Charlie', age: 2}, {name: 'Jack', age: 4}, {name: 'Rock', age: 9}]

并且在dogs.feature

Feature:
Scenario:
* table dogs
      | name      | age |
      | 'Charlie' | 2   |
      | 'Jack'    | 4   |
      | 'Rock'    | 9   |

编辑:因为一些团队坚持Excel(我不推荐),如果适用的话也请参考这个答案:

如果您想在设计时执行此操作,例如,从另一个数据源导入 table,您可以使用一些设计工具 CukeTest,它允许您进行可视化编辑,将数据从 *.csv 文件导入 Table 或小黄瓜文件示例。您可以将 Excel 数据文件保存为 *.csv 格式。

如果您想在运行时执行此操作,则有很多方法可以读取数据并以编程方式对其进行解析,通常是从 *.json 文件或 *.csv 文件。