首页 > 解决方案 > Jasmine Angular:如何为作为参数给出的匿名函数编写单元测试

问题描述

public listenCloseEvt() {
    this.renderer.listen(window, 'close', () => {
      this.showModal = false;
    });
}

我可以,spyOn render.listen但我无法this.showModal在编写单元测试时达到假线。

标签: angularunit-testingjasmine

解决方案


如果您监视某些东西,那么该对象的实现细节就会丢失。

要获得实施,您必须callThrough()对间谍进行原始实施。

代替:

spyOn(renderer.listen)

利用

spyOn(renderer.listen).and.callThrough()


推荐阅读