Angular-mocks错误实例化$ rootScope

时间:2014-11-26 21:08:42

标签: angularjs unit-testing angular-mock

我有一个非常简单的Mocha测试(我已经看过几十次的代码副本) enter image description here

当我运行它时,角度模拟似乎成功加载注入的资源及其所有依赖项,并成功地使其进入第9行。当我进入$ rootScope.new()函数时,它直接进入catch块。 enter image description here

使用e as" undefined不是函数"

enter image description here

我不明白这里发生了什么。变量blockFns [i]是一个函数,或者至少是Chrome调试器所说的。所以我不明白为什么对injector.invoke的调用失败了。这是堆栈跟踪。 enter image description here

1 个答案:

答案 0 :(得分:1)

您需要在致电$rootScope之前注入$rootScope.$new()

var $rootScope;
beforeEach(inject(function($injector){
  $rootScope = $injector.get('$rootScope');
}));

<强>更新

实际上问题是它应该是$rootScope.$new()而不是$rootScope.new()