我正在尝试测试指令,但是当我模拟指令时,指令中间的一行会运行错误。这阻止了我的测试运行

$scope.getIterations = function (its) {
        return new Array(its);
    };


退货

 RangeError: Invalid array length


作为参数有意义,它返回NaN。

我以为我可以打电话
     var其= [1,2,3];
     $ scope.getIterations(its)

在beforeEach内部,但是没有任何区别,因为错误代码返回的是相同的东西。

也许我误解了这段代码,但是我不确定如何在单元测试中解决这个问题。

最佳答案

唯一的例外是不言自明:您在Array expects variadic arguments as items to insert or a length to pad时传递new Array()

$scope.getIterations = function(its) {
    return new Array(its.length);
};


目前尚不清楚您要在此处执行的操作...似乎只是想按原样返回参数:

$scope.getIterations = function(its) {
    return its;
};

10-08 04:57