测试发射器订阅代码覆盖角度5

时间:2019-03-13 19:50:34

标签: angular typescript unit-testing jasmine angular-event-emitter

在我的组件中,我正在尝试进行以下测试

问题是当我运行代码覆盖时,它会突出显示预订中的功能及其调用的功能。

 ngAfterContentInit() {
    console.log(this.panels);
    this.panels.toArray().forEach((panel: PanelComponent) => {
      // subscribe panel toggle event
      panel.toggle.subscribe(() => {//The parentheses is highlighted
       //Along with this line of code
        this.openPanel(panel);
      });
    });
  }

在规格文件中:

 it('should load Panel components on ngAfterContentInit() and call openPanel', () => {
    component.panels = testPanelList;
    spyOn(component, 'openPanel');
    component.ngAfterContentInit();

    testPanelList.toArray().forEach((panel: PanelComponent) => {
      // subscribe panel toggle event
      panel.toggle.subscribe(() => {
        expect(panel).toBeTruthy();
        // Open the panel
        component.openPanel(panel);
        expect(component.openPanel(panel)).toHaveBeenCalled();
        expect(component.openPanel).toHaveBeenCalledWith(panel1Component);
      });
    });

TBH,我现在将所有内容扔给它,以查看什么可行,但似乎没有任何作用

0 个答案:

没有答案