测试具有传递依赖性的Angular2组件

时间:2017-03-03 15:07:37

标签: unit-testing angular

我刚开始使用Angular2,但我尝试测试我写的每个组件。

当我编写组件测试时,我必须初始化TestBed,因此测试中的组件已解析所有(传递)依赖项。

现在我可以想到三种方法

  1. 导入包含待测组件的整个模块 - 它应声明或导入所有必需的依赖项
  2. 在测试代码中明确声明所有依赖项
  3. 模拟所有依赖项 - 因此它们没有自己的依赖项
  4. 我认为当我需要模拟已在主模块中声明的内容时,第一个解决方案可能会导致问题。第二个要求我在尝试向组件添加任何新依赖项时手动更改所有相关测试。我没有测试第三个,所以我不知道它是否可行。

    处理此问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

我使用相同的选择器和输入实现了相关组件的模拟,但没有逻辑。

这样我可以隔离地测试我的组件 - 检查它是否正确使用了依赖组件,但不关心任何传递依赖和其他实现细节。

我的灵感来自:angular2 test, how do I mock sub component