我正在调用一个具有switch case语句的函数,它返回一个值。 现在我试图将这个返回值传递给我的量角器 - 黄瓜测试中的第二个函数。
When(/^A function is callled$/, function(fields) {
obj.each(fields.hashes(), function(value) {
filePath = util.Function_1(value.a, value.b, value.c);
console.log(filePath);
response = util.Function_2(filePath);
});
});
Util文件中的功能:
Function_1(a, b, c){
var num =1;
switch (num) {
case "1": {
var filePath = "dummy path-1 to a file";
console.log("Inside case-1");
break;
}
case "2": {
var filePath = "Construct file path using a, b and c";
console.log("Inside case-2");
break;
}
}
return filePath;
}
第二功能:
Function_2(filePath){
console.log("Inside second function");
//To Do
}
我能够在When部分中打印从Function_1返回的值。 但是在打印返回值后,测试正在完成。 它不是第二个功能。
我尝试创建一个promise并从Function_1返回它。 但无法使其发挥作用。
答案 0 :(得分:1)
问题是,你的变量“num”实际上是一个数字,而在switch case语句中你正在寻找一个字符串。 按如下方式更改您的Function_1,它将起作用:
Function_1(a, b, c){
var num =1;
switch (num) {
case 1: {
var filePath = "dummy path-1 to a file";
console.log("Inside case-1");
break;
}
case 2: {
var filePath = "Construct file path using a, b and c";
console.log("Inside case-2");
break;
}
}
return filePath;
}
检查内容为“1”,“2”等的字符串。或者编号,然后检查1,2等。