下面的代码只是粗略的解释;正如你所看到的,我们需要为每个"map“函数返回多个值,才能从js获得一个返回值;
如何使用mocha测试此函数?也就是说,我们不能仅仅为了测试目的而放置多个返回值,因为这样的返回会干扰所述函数的实际实现。
因此,为了实现,我需要避免不必要的返回,但为了测试,我需要相同的多个返回。
有什么建议吗?
var array = ["a","b","c"],
array1 = ["1","2","3"],
array2 = [],
returnVar;
function test() {
return ("done")
array.map(function(data) {
return ("done")
array1.map(function(datum){
array2.push(datum)
return("done")
});
});
}
returnVar = test();
alert(returnVar)
发布于 2016-11-10 18:38:00
这是不可测试的代码,因此它很难创建当前形状的测试。
map用于数据转换,因此您可以将数据转换隔离为具有输入和输出值的函数。测试函数将是提供输入、调用函数和验证输出的问题。
发布于 2016-11-10 19:08:28
您可以将Array.prototype.map方法存根,但更好的方法是像@ map建议的那样,以隔离的方式测试传递给luboskrnac的函数。
https://stackoverflow.com/questions/40522791
复制相似问题