什么
在我的 AngularJS 应用程序中,我试图监视一些内部结构,例如angular.module
和serviceProvider
.
如何
我成功窥探angular.module
var moduleCalls = spyOn(angular, 'module').and.callThrough();
moduleCalls.calls.count() //-> 6
我试图监视,angular.module(...).service
但它似乎从未被调用
var serviceCalls = spyOn(angular.module('MyApp'), 'service').and.callThrough();
serviceCalls.calls.count() //-> 0
或更通用的.provider
var serviceCalls = spyOn(angular.module('MyApp'), 'provider').and.callThrough();
为什么
此时的用例是假设的,我希望能够在创建时审核所有用户定义的组件(如模块、工厂、服务、指令、控制器等)。
同样,是否可以链接and.callThrough()
,and.callFake()
以便我可以发布到审核日志。