gpt4 book ai didi

javascript - 单元测试 Javascript - Jasmine 测试失败,尽管代码按预期工作

转载 作者:行者123 更新时间:2023-12-03 05:05:54 25 4
gpt4 key购买 nike

我正在尝试开始使用 javascript 进行单元测试。我使用 jasmine 框架 2.5.2 和 Netbeans 8.2 作为我的 IDE。

这是我想测试的简单代码:

var ListHandler = {

"reverseList": function (inputList) {
var list = inputList,
reversedList = [],
length = list.length;

for (var i = 0; i < length; i++) {
reversedList.push(list[length - i - 1]);
}

return reversedList;
},

"sumUp": function (inputList) {
var count = 0;
for (var i = 0; i < inputList.length; i++) {
count += inputList[i];
}

return count;
},

"concatenate": function (inputList1, inputList2) {
var result = inputList1.concat(inputList2);
return result;
}
}

这是我的测试:

describe("List Handler", function(){ 

it("should return reversed List",function(){
expect(ListHandler.reverseList([1,2,3])).toEqual([3,2,1]);
});

it("should return sum of list values",function(){
expect(ListHandler.sumUp([1,2,3])).toEqual(6);
});

it("should return concatenated List", function(){
expect(ListHandler.concatenate([1,2],["a","b"]).toEqual([1,2,"a","b"]));
});
});

因此,当我运行测试时,前两个方法通过,但最后一个方法“concate”出现错误:

TypeError: ListHandler.concatenate(...).toEqual is not a function

但是,当我像alert(ListHandler.concatenate([1,2,5], ["a", "b", "c"]));那样执行它时效果很好。有人可以向我解释为什么 Jasmine 会提示吗?

最佳答案

您的右括号放错了位置。

尝试;

  expect(ListHandler.concatenate([1,2],["a","b"])).toEqual([1,2,"a","b"]);

关于javascript - 单元测试 Javascript - Jasmine 测试失败,尽管代码按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42003981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com