首页 > 解决方案 > 空手道 - 如何从单个主要功能调用多个外部功能

问题描述

Feature: Principal feature

Background:
    * url 'http://example.com'
   
    Scenario: Feature calling

       
    * def inputTable = call read('input_table.feature')  
    * call read('my_call.feature') inputTable.inputTestData

数据表文件在哪里:

//input_table.feature
Feature:TABLE_TEST
Scenario:TABLE_TEST
    * table inputTestData
|inputName|outputName|
|requestA|responseA|

这给我一个错误:

ERROR com.intuit.karate - feature call failed: .../input_table.feature
arg: null
input_table.feature:3 - evaluation (js) failed: requestA, javax.script.ScriptException: ReferenceError: "requestA" is not defined in <eval> at line number 1
stack trace: jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:470)

但相反,如果我使用在Examples字段中定义的数据表调用 my_call 功能,它可以正常工作。

有什么帮助吗?

标签: testingsoapcucumberkarate

解决方案


Examples和之间有细微的差别table。也许你打算这样做:

* table inputTestData
|inputName|outputName|
|'requestA'|'responseA'|

阅读文档:https ://github.com/intuit/karate#table


推荐阅读