使用输入作为 JsonArray 调用功能,而不会因转换问题而抛出 Karate 异常
Call feature with input as JsonArray without throwing Karate exception due to cast issue
我遇到一个问题,如果我使用以下方法调用功能,它会抛出 KarateException
javascript evaluation failed: x.action(x), com.google.gson.JsonObject cannot be cast to com.google.gson.JsonArray
* def result = call read('abcCommon.feature') { action : "start", input : ["X","Y"]}
在abcCommon.feature
Scenario:
* def x = Java.Type('com.x')
* def status = x.action('#(input)')
我的操作方法是将输入读取为字符串,然后将字符串解析为 JsonArray,然后 returns 将字符串解析回特征文件
这不是有效的嵌入表达式:x.action('#(input)')
。请在此处阅读文档:https://github.com/intuit/karate#rules-for-embedded-expressions
事实上,您应该这样做:x.action(input)
如果 input
已经是范围内的有效变量。
顺便说一下,您的示例非常不完整,我正在做一些假设。
我遇到一个问题,如果我使用以下方法调用功能,它会抛出 KarateException
javascript evaluation failed: x.action(x), com.google.gson.JsonObject cannot be cast to com.google.gson.JsonArray
* def result = call read('abcCommon.feature') { action : "start", input : ["X","Y"]}
在abcCommon.feature
Scenario:
* def x = Java.Type('com.x')
* def status = x.action('#(input)')
我的操作方法是将输入读取为字符串,然后将字符串解析为 JsonArray,然后 returns 将字符串解析回特征文件
这不是有效的嵌入表达式:x.action('#(input)')
。请在此处阅读文档:https://github.com/intuit/karate#rules-for-embedded-expressions
事实上,您应该这样做:x.action(input)
如果 input
已经是范围内的有效变量。
顺便说一下,您的示例非常不完整,我正在做一些假设。