gpt4 book ai didi

javascript - 为什么在 karma 中,当我将一个伪数组传递给一个函数时,我返回的是未定义的?

转载 作者:行者123 更新时间:2023-11-28 20:40:29 25 4
gpt4 key购买 nike

我有我正在测试的功能:

var depotItems = [1,2,3];

$scope.depotSortFunction = function (depotItems) {
depotItemsAndCheckedValues = depotItems.map(function (value) {
return { "val": value, "checked": false };
});
return depotItemsAndCheckedValues;
}

还有我的 karma 测试:

it("should arrange an array into object with extra value for entities + depots", inject(function (shareDataService) {
var dummyEntityArray = ["ent1","ent2","ent3"];

expect(mainScope.entitySortFunction).toBeDefined();
spyOn(mainScope, 'entitySortFunction');
mainScope.entitySortFunction(dummyEntityArray);
console.log(mainScope.entitySortFunction(dummyEntityArray));
expect(mainScope.entitySortFunction).toHaveBeenCalledWith(dummyEntityArray);

}))

到目前为止测试是绿灯,但我想测试 entitySoryFunction 的输出。但是在这一行 console.log(mainScope.entitySortFunction(dummyEntityArray)); 当我检查日志时我得到了 Undefined。

这是为什么?我在我的函数中返回我的新对象值。

编辑 -

console.log 的 Karma 输出 - LOG: undefined

最佳答案

尝试调用 spyOn(mainScope, 'entitySortFunction').and.callThrough();,如果你不调用, spy 将不会执行你的实现。

documentation

关于javascript - 为什么在 karma 中,当我将一个伪数组传递给一个函数时,我返回的是未定义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35888242/

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