【发布时间】:2017-07-23 18:22:33
【问题描述】:
我刚开始使用 Angular2,但我尝试测试我编写的每个组件。
当我编写组件测试时,我必须初始化 TestBed,以便被测组件的所有(传递)依赖关系都得到解决。
现在我能想到三种方法
- 导入包含被测组件的整个模块 - 它应该声明或导入所有必需的依赖项
- 在测试代码中显式声明所有依赖项
- 模拟所有依赖项 - 因此它们没有自己的依赖项
当我需要模拟已经在主模块中声明的东西时,我认为第一个解决方案可能会导致问题。第二个要求我在尝试向组件添加任何新依赖项时手动更改所有依赖测试。第三个我没有测试,所以我不知道它是否可行。
处理这个问题的最佳方法是什么?
【问题讨论】:
标签: unit-testing angular