提供以下输入:
* def list = [{a: 'aaa', b:'bbb'}, {a:'aa', c:'ccc'}]
* def anotherList = [{a: 'aaa', b:'bbb'}, {a:'aa', b:'', c:'ccc'}]
* def msg = {b: '#string'}
如何检查b
键只出现一次?
使用:
* match list contains '#(^msg)'
将验证列表中至少有b
个出现。
如何检查b
或list
中是否恰好有一次键anotherList
的出现?因此,list
的这种检查应该通过,anotherList
的失败。
答案 0 :(得分:2)
您可以使用match
和contains
快捷方式进行过滤:
* def list = [{ a: 'aaa', b: 'bbb' }, { a: 'aa', c: 'ccc' }]
* def msg = { b: '#string' }
* def fun = function(x){ return karate.match(x, '#(^msg)').pass }
* def filt = karate.filter(list, fun)
* match filt == '#[1]'