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

时间:2018-02-28 13:16:27

标签: gherkin karate

这是一个简单的例子:

 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}]

是否可以将表移动到另一个文件,然后导入它?如果是的话,究竟是怎么回事?

提前致谢

2 个答案:

答案 0 :(得分:0)

对于这个用例,我建议使用JSON而不是表格,它会很好地导入,并且具有大多数IDE等可编辑的优点。

* 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(我不建议),如果适用,请参阅此答案:https://stackoverflow.com/a/47954946/143475

答案 1 :(得分:0)

如果您想在设计期间执行此操作,例如,从其他数据源导入表格,您可以使用一些设计工具CukeTest,它允许您直观地编辑它,从*导入数据。将csv文件转换为gherkin文件的表或示例。您可以将Excel数据文件保存为* .csv格式。

如果你想在运行时这样做,那么有很多方法可以读取数据并以编程方式解析它,通常来自* .json文件或* .csv文件。