第一
eval
于中引入
0.7.0
很抱歉,文件正在修改中。我建议您使用版本0.7.0。RC4,在本帖发布时可用。
好问题!我认为在这种情况下,深入Java是有意义的。好消息是,您可以“作为JS”自己来做这件事。下面的代码使用
评估
关键字,但如果您无法升级,您应该能够找到一种使用JS函数的方法,正如您所知。
* def ArrayList = Java.type('java.util.ArrayList')
* def Collections = Java.type('java.util.Collections')
* def json = [{ v: 'C' }, { v: 'b' }, { v: 'A' }]
* def actual = $json[*].v
* print actual
* def list = new ArrayList()
* eval for(var i = 0; i < actual.length; i++) list.add(actual[i])
* print list
* eval Collections.sort(list, java.lang.String.CASE_INSENSITIVE_ORDER)
* print list
* match list != actual
* match list == ['A', 'b', 'C']
这是3的输出
print
声明:
21:59:34.211 [main] INFO com.intuit.karate - [print] [
"C",
"b",
"A"
]
21:59:34.241 [main] INFO com.intuit.karate - [print] [
"C",
"b",
"A"
]
21:59:34.273 [main] INFO com.intuit.karate - [print] [
"A",
"b",
"C"
]
编辑:更新为不区分大小写