2013-07-10 140 views
3

我的问题与Testing Angular Controllers defined like angular.module('myApp').controller(非常相似。我并不想劫持这个问题,而是想单独问我的问题。当我使用表格的建议答案时:测试角度控制器:未定义控制器

describe('evCalcApp controllers', function(){ 
    beforeEach(module('evCalcApp.controllers')); 
    var scope, ctrl 
    beforeEach(inject(function($controller, $rootScope) { 
     scope = $rootScope.$new(); 
     ctrl = $controller('MyMileageCalcController', {$scope: scope}); 
    })); 

这对第一个控制器工作正常。但是,如果您在同一个文件中测试了多个控制器,那么您将如何注入第二个控制器(让我们称它为MyCtrl2)?

回答

3

相同的方式,做了最后一个

describe('evCalcApp controllers', function(){ 
    beforeEach(module('evCalcApp.controllers')); 
    var scope, ctrl, ctrl2; 
    beforeEach(inject(function($controller, $rootScope) { 
     scope = $rootScope.$new(); 
     scope2 = $rootScope.$new(); 
     ctrl = $controller('MyMileageCalcController', {$scope: scope}); 
     ctrl2 = $controller('MyCtrl2', {$scope: scope2}); 
    })); 
+0

太好了!谢谢。所以看起来这不能进入给定控制器的'describe'块,而是必须存在于模块的外部'describe'内。对? –