gpt4 book ai didi

javascript - 使用 Jasmine 测试 Lodash sortBy 函数参数

转载 作者:行者123 更新时间:2023-12-03 02:24:21 28 4
gpt4 key购买 nike

我的项目中有一个 Controller ,如下所示:

define(function (require) {
'use strict';

function AllOrgsController($rootScope, $uibModalInstance) {
var vm = this;
var clonedOrgs = _.cloneDeep($rootScope.userData.org);
vm.modelContainer = _.sortBy(clonedOrgs, function (org) {
return org.organizationName.toLowerCase();
});

vm.openFacilityModal = function () {
$uibModalInstance.close();
};

vm.saveOrgsModal = function () {
$uibModalInstance.close({ $value: vm.currentFacility });
};

vm.cancelOrgsModal = function () {
$uibModalInstance.dismiss();
};
}

AllOrgsController.$inject = ['$rootScope', '$uibModalInstance'];

return AllOrgsController;
});

但是根据 Istanbul 的说法,Lodash 的 _.sortBy 方法中使用的匿名函数并未被涵盖。由于我是单元测试的菜鸟,我还没有弄清楚为什么——有人知道吗?

"function not covered" error message on my code

最佳答案

_.sortBy应该调用您为您提供的 clonedOrgs 参数的每个元素传递的函数。由于 Istanbul 检测到传入的函数从未运行,这必定意味着在您的测试中 clonedOrgs 始终为空(或不是有效的数组)。因此,您可以通过编写一个测试来确保该方法被覆盖,其中您的 $rootScope.userData.org 数组包含元素。

关于javascript - 使用 Jasmine 测试 Lodash sortBy 函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49017143/

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