Jasmine抱怨$ apply

时间:2016-03-03 14:25:47

标签: javascript angularjs-scope jasmine

我正在为我们的javascript / angular代码编写茉莉花测试。我发现我们的许多代码本身都使用$scope.$apply()来包装$apply()中的函数。该测试抱怨$apply

  

TypeError:对象不支持属性或方法'$apply'

当我把它拿出来时,这个错误消失了,但是我们的代码没有正常工作。有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

你可以加一些代码吗?

你在测试控制器吗? 你如何注入$ scope?

如果你做的事情如下:

ctrl = $controller('MyCtrl', {
    $scope:{}
});

这是你的问题,因为你应该使用$ rootScope创建一个新的范围:

ctrl = $controller('MyCtrl', {
    $scope: $rootScope.$new()
});

https://jsfiddle.net/ronapelbaum/pkhaxmdg/

相关问题