【发布时间】:2018-03-03 22:46:12
【问题描述】:
我想问一下 Angular4 中的依赖注入如何以及如何在单元测试中使用它来模拟服务。
首先,我没有检查任何Angular2测试框架,在这一点上,我想了解更多关于一般概念的信息。
为什么 Angular 中的 DI 被称为 DI?
当您在构造函数中列出要注入的服务时,您必须导入对文件的引用。
当您在提供程序中注册服务时,它只是一个类名。我在这里看不到任何接口 - 类配对的可能性。
我无法抗拒,但我认为这种行为与静态类没有区别。
以某种方式模拟单元测试服务的技术是什么?
非常感谢所有输入 :)
【问题讨论】:
-
您在提问前检查过docs.angularjs.org/guide/di 和angular.io/guide/testing 章节吗? SO 是一个很有帮助的社区,但缺乏任何研究的问题通常不受欢迎。关于DI,在构造函数中注入
ClassName标记的东西不是类本身,它可以是类实例,也可以是另一个类,或者另一个类实例。 -
是的,我做了一些研究,谷歌没有提供任何有趣的东西...提供的链接是针对以前版本的 Angular。
-
哦,对不起,错过了第二个。但我不仅对单元测试感兴趣,而且对 DI 感兴趣。关于那个主题,我真的没有找到任何东西,只是对功能的基本描述。提供参考的那个东西可能是第一个有趣的东西,将看看它。
-
第一个链接错误。 Angular DI 背后的主要思想是可以有不同的提供者类型来定义将被注入的值 angular.io/guide/dependency-injection#injector-providers 。 DI 令牌可以是不需要导入的字符串,但强烈反对这种做法。
标签: angular unit-testing dependency-injection