如何在角度8中测试window.innerWidth属性?

我在Angular和TDD中相当陌生。目前,我正在尝试测试在调整大小事件期间对其调用的函数。这是我的以下代码:

header.component.ts

repository(owner: "owner",name: "repo name") {
  object(expression: "branch") {
    ... on Commit {
      zipballUrl
    }
  }
}

header.component.ts

@Component({
    selector: 'app-header',templateUrl: './header.component.html',styleUrls: ['./header.component.scss'],host: {
        '(window:resize)': 'onResize($event)'
    }
})
export class HeaderComponent implements OnInit {
    isDesktop = window.innerWidth > 768;
    menuOpen = false;

    constructor() {}

    ngOnInit() {}

    onResize(event) {
        this.isDesktop = event.target.innerWidth > 768;
        this.menuOpen = !this.isDesktop && this.menuOpen;
    }
}

运行测试时,它会输出测试失败,提示describe('HeaderComponent',() => { let component: HeaderComponent; let fixture: ComponentFixture<HeaderComponent>; beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [ HeaderComponent,SideMenuComponent ] }) .compileComponents(); })); beforeEach(() => { fixture = TestBed.createComponent(HeaderComponent); component = fixture.componentInstance; fixture.detectChanges(); }); it('should create',() => { expect(component).toBeTruthy(); }) it('should trigger onResize method when window is resized',() => { const spyOnResize = spyOn(component,'onResize'); window.dispatchEvent(new Event('resize')); expect(spyOnResize).toHaveBeenCalled(); }); 。有什么想法或线索可以解决此问题吗?非常感谢您的任何帮助。

youngerb 回答:如何在角度8中测试window.innerWidth属性?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3144816.html

大家都在问