问题描述
我可以使用下面的代码使用Javascript添加多个数组,但是当我在Karate框架中应用相同的数组时,会出现错误。解决此问题的任何帮助。
Javascript:
var array1 = ["02","03"];
var array2 = ["24","21"];
var array3 = ["12","13"];
function mergeElementsAtIndex(array1,array2,array3) {
var newArray = array1.map(function(value,index)
{
return value + array2[index] + array3[index];
});
return newArray;
}
- List item
merged_array = mergeElementsAtIndex(array1,array3)
与空手道相同:
* def mydate =
"""
function (array1,index)
{
return value + array2[index] + array3[index];
});
return newArray;
}
"""
* def newdissue = mydate(array1,array3)
我收到错误消息:
*** step Failed: testing.feature:97 - javascript evaluation Failed: mydate(array1,array3),TypeError: issueMonth.map is not a function in <eval> at line number 2
解决方法
使用karate.append()
:https://github.com/intuit/karate#json-transforms
* def temp1 = [1,2,3]
* def temp2 = karate.append(temp1,[4,5],[6,7])
,
上述问题的解决方案:
* def mydate =
"""
function (array1,array2,array3) {
array1=karate.append(array1);
array2=karate.append(array2);
array3=karate.append(array3);
var c = [];
for(var i=0;i<Math.max(array1.length,array2.length,array3.length); i++)
{
c.push((array1[i]|| 0)+(array2[i]|| 0)+(array3[i]|| 0))
}
return c
}
"""
* def expireDate = mydate(expireMonth,expireDay,expireYear)