小编Ast*_*sta的帖子

什么时候我应该在我的Angular JS Unit测试中使用$ provide和Jasmine Spies

我在一个大型Angular应用程序上工作,最初我们通过使用$ provide来模拟服务来完成我们的大量测试.然而,我们现在在我们的测试中有很多Jasmine Spies来存储和监视服务.

spyOn(myService, 'myMethod').andReturn 'myValue'
Run Code Online (Sandbox Code Playgroud)

我们是否真的应该使用$提供此服务,或者是否存在间谍服务是最好的方法?

在Angular Tests中,他们使用间谍来监视Jquery,我将其视为外部服务.

spyOn(jq.prototype, 'on');
Run Code Online (Sandbox Code Playgroud)

$ provide似乎更多地用于内部服务.

  module(function($provide){
    $provide.provider('$exceptionHandler', $ExceptionHandlerProvider);
  });
Run Code Online (Sandbox Code Playgroud)

还有一个Jasmine createSpy函数,但现在我认为$ provide应该始终优先于它.

任何见解或帮助将不胜感激.

javascript unit-testing jasmine angularjs

10
推荐指数
1
解决办法
7342
查看次数

标签 统计

angularjs ×1

jasmine ×1

javascript ×1

unit-testing ×1