目前我正在为Angular编写测试,我在其中模拟单击按钮,该按钮会发出物化模态打开事件。打开点击模式后,在我的前端,我可以在我的chrome检查器中看到它有另外的类open
。
但是当我尝试在测试中进行时,没有任何反应(类没有添加)。我正在使用angular2-materialize
包。
我试过写async
测试:
it('should open the modal after user clicks button', async(() => {
let btn = fixture.debugElement.query(By.css('.modal-btn')).nativeElement;
btn.click();
fixture.detectChanges();
fixture.whenStable().then(() => {
let openModal = fixture.debugElement.query(By.css('.modal.open'));
expect(openModal).not.toBeNull();
});
}));
我尝试在let openModal
方法之外宣布whenStable()
,但没有运气。
此外,我尝试将fakeAsync
与tick()
:
it('should open the modal after user clicks button', fakeAsync(() => {
let btn = fixture.debugElement.query(By.css('.modal-btn')).nativeElement;
btn.click();
tick(2000);
fixture.detectChanges();
let openModal = fixture.debugElement.query(By.css('.modal.open'));
expect(openModal).not.toBeNull();
}));