如何在测试套件中模拟和监视命名空间?

时间:2019-05-07 06:46:53

标签: angular typescript unit-testing testing

我正在尝试为使用名称空间的Angular组件编写测试。它可以正确编译,但是我不太确定如何模拟或监视正在使用的名称空间。

我已经尝试在测试模块提供程序中定义它,但是由于它没有被注入,因此显然不起作用。还有其他方法可以为单元测试提供名称空间的模拟吗?

示例stackblitz: https://stackblitz.com/edit/angular-testing-tyazbd

1 个答案:

答案 0 :(得分:0)

问题不是间谍,而是时机。间谍是在调用构造函数之后创建的,因此在初始化间谍之前已经调用了该方法。

一种解决方案是在ngOnInit内调用该函数,该函数由第一个fixture.detectChanges触发

在这里看看:https://stackblitz.com/edit/angular-testing-8audds