2016-02-11 92 views
0

我有一项服务取决于$ controller服务。在这个服务里面,$ controller服务需要一个控制器名和本地实例来实例化这个控制器。 当我单元测试此服务时,我想通过一个虚拟控制器名称,以便我可以正确测试此服务。 从阅读angular.js源代码,我知道$控制器服务查找注册控制器通过控制器的名称。控制器通过$ controllerProvider的注册方法进行注册。如何在单元测试中访问此方法。我在这里使用Jasmine进行单元测试。 任何意见,赞赏。

+0

朋友请补充说明您已迫在眉睫的问题很难回答你的tried.just角脚本和单元测试脚本。 –

回答

0

如果你想测试角的$控制服务,并假设你正在使用ngMocks,就可以正常使用$控制器。在角的文档,有一个example on how to use it

不管怎么说,这是一个从文档样本:

describe('myDirectiveController', function() { 
it('test case', inject(function($controller) { 
    // Your code goes here 
}); 
}); 
0
beforeEach(function() { 
    module('myApp', function ($controllerProvider) { 
     $controllerProvider.register(dummyController, function() { }); 
    }); 
}); 

我结束了这一点。当我的服务调用$控制器(dummyController,controllerlocals),它能够找到这个dummyController在其本地变量控制器注册。 希望这将有助于人也有同样的情况