我正在为我们的javascript / angular代码编写茉莉花测试。我发现我们的许多代码本身都使用$scope.$apply()
来包装$apply()
中的函数。该测试抱怨$apply
TypeError:对象不支持属性或方法
'$apply'
。
当我把它拿出来时,这个错误消失了,但是我们的代码没有正常工作。有办法解决这个问题吗?
答案 0 :(得分:0)
你在测试控制器吗? 你如何注入$ scope?
如果你做的事情如下:
ctrl = $controller('MyCtrl', {
$scope:{}
});
这是你的问题,因为你应该使用$ rootScope创建一个新的范围:
ctrl = $controller('MyCtrl', {
$scope: $rootScope.$new()
});