我在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();
});
。有什么想法或线索可以解决此问题吗?非常感谢您的任何帮助。