调用其他功能并从csv读取数据,示例中没有



我通常调用其他功能,并从示例中的csv读取数据,如下所示。

Scenario Outline: 
* call read('classpath:controller/Controller.feature')
Examples:
|read('classpath:com/testdata/Test.csv')|

这一次我仍然想从csv中读取数据,但将示例用于其他目的,如下所示。是否可以从csv中读取数据?也许作为参数传递?

Scenario Outline: 
* call read('classpath:controller/Controller.feature'){read('classpath:com/testdata/Test.csv')}

Examples:
|gain |spend    |
|12000| 12008   |
|3400 | 4655    |

我知道它是这样工作的,但我必须通过索引[0],如果我在csv中有更多的测试数据,它就不会工作

Scenario Outline: 
* def testData = read('classpath:com/testdata/Test.csv')
* call read('classpath:controller/Controller.feature'){ "name": "#(testData[0].name)", "age": "#(testData[0].age)"}
Examples:
|gain |spend    |
|12000| 12008   |
|3400 | 4655    |

我只给你一个提示。使用Examples时,行索引可用作名为__num的变量:https://github.com/karatelabs/karate#scenario-大纲增强

所以你可以这样做:

Feature:
Scenario Outline:
* def data = [{ id: 0 }, { id: 1 }]
* match (data[__num].id) == temp
Examples:
| temp! |
| 0     |
| 1     |

最新更新