栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将模拟注入AngularJS服务

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将模拟注入AngularJS服务

您可以使用来将模拟注入到您的服务中

$provide

如果您具有以下具有依赖项的服务,该服务具有名为getSomething的方法:

angular.module('myModule', [])  .factory('myService', function (myDependency) {        return { useDependency: function () {     return myDependency.getSomething(); }        };  });

您可以按如下方式注入myDependency的模拟版本:

describe('Service: myService', function () {  var mockDependency;  beforeEach(module('myModule'));  beforeEach(function () {      mockDependency = {          getSomething: function () {   return 'mockReturnValue';          }      };      module(function ($provide) {          $provide.value('myDependency', mockDependency);      });  });  it('should return value from mock dependency', inject(function (myService) {      expect(myService.useDependency()).toBe('mockReturnValue');  }));});

请注意,由于有调用,

$provide.value
因此实际上不需要在任何地方显式注入myDependency。它发生在注入myService的过程中。在此处设置嘲讽依赖时,它可能就很容易成为间谍。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/635118.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号