spyOn模拟的函数,仍然被称为实际实现

时间:2019-02-11 09:17:45

标签: angular unit-testing jasmine karma-runner

我正在为组件编写单元测试。

我要模拟的组件中有一个函数,该函数在OnInit中被调用。

我已经像下面那样嘲笑了这个功能

  spyOn(component, 'functionToMock'); 

但是仍然在OnInit中调用了该函数,而我的单元测试却失败了。

使用spyOn ...任何Idea都无法在此处进行模拟?

1 个答案:

答案 0 :(得分:0)

在不看代码的情况下不能说太多,但这听起来像oninit在测试之前运行。

将测试与组件生命周期隔离开来是一种好习惯。我们可以安全地假设OnInit在需要时运行。

相反,请在beforeEach块中模拟该方法,然后在测试中明确执行它。