【发布时间】:2014-05-21 17:26:35
【问题描述】:
我在一个大型 Angular 应用程序上工作,最初我们通过使用 $provide 模拟服务完成了很多测试。但是,我们现在在测试中使用了很多 Jasmine Spies,以便对服务进行存根和监视。
即
spyOn(myService, 'myMethod').andReturn 'myValue'
我们真的应该为此使用 $provide,还是在某些情况下监视服务是最好的方法?
在 Angular 测试中,他们使用 spying on Jquery 的间谍,我将其视为外部服务。
spyOn(jq.prototype, 'on');
$provide似乎更多用于内部服务。
module(function($provide){
$provide.provider('$exceptionHandler', $ExceptionHandlerProvider);
});
还有一个 Jasmine createSpy 函数,但现在我认为 $provide 应该始终优先于它。
对此的任何见解或帮助将不胜感激。
【问题讨论】:
标签: javascript angularjs unit-testing jasmine