【发布时间】:2014-09-10 01:05:01
【问题描述】:
什么
在我的 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() 以便我可以发布到审核日志。
【问题讨论】:
-
您究竟为什么要监视提供者?你能展示你成功监视模块的代码吗?
-
@runTarm - 我已经用更多信息更新了这个问题。
标签: javascript angularjs unit-testing jasmine angularjs-module