在_servicename_中的下划线是什么意思在AngularJS测试?
发布时间:2020-12-17 09:07:55 所属栏目:安全 来源:网络整理
导读:在以下示例测试中,原始提供程序名称为APIEndpointProvider,但是对于注入和服务实例化,约定似乎是必须使用下划线来包装它。这是为什么? 'use strict';describe('Provider: APIEndpointProvider',function () { beforeEach(module('myApp.providers')); va
在以下示例测试中,原始提供程序名称为APIEndpointProvider,但是对于注入和服务实例化,约定似乎是必须使用下划线来包装它。这是为什么?
'use strict'; describe('Provider: APIEndpointProvider',function () { beforeEach(module('myApp.providers')); var APIEndpointProvider; beforeEach(inject(function(_APIEndpointProvider_) { APIEndpointProvider = _APIEndpointProvider_; })); it('should do something',function () { expect(!!APIEndpointProvider).toBe(true); }); }); 什么是约定我缺少一个更好的解释?
下划线是一个方便的技巧,我们可以使用不同的名称注入一个服务,这样我们可以在本地分配一个与服务同名的局部变量。
也就是说,如果我们不能这样做,我们必须在本地使用一些其他名称作为服务: beforeEach(inject(function(APIEndpointProvider) { AEP = APIEndpointProvider; // <-- we can't use the same name! })); it('should do something',function () { expect(!!AEP).toBe(true); // <-- this is more confusing }); 在测试中使用的$ injector可以删除下划线,给我们想要的模块。它不做任何事情,除了让我们重用相同的名称。 Read more in the Angular docs (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- twitter bootstrap 3 jquery最低版本
- 在shell shell与pymongo中的MongoDB db.eval()的
- 如何在Webpack Angular 2中包含jQuery和Semantic
- 秒懂Vuejs、Angular、React原理和前端发展历史
- angularjs – onLoad和ng-init之间的角度差
- 检测VIM中是否存在quickfix缓冲区
- Docker中镜像构建文件Dockerfile与相关命令的详细
- GNU Parallel和Bash功能:如何从手册中运行简单的
- 嵌套的Scala匹配为什么Some(Some(1),1)无法匹配?
- scala – 在数组中查找索引的功能代码
热点阅读