4

我正在尝试通过以下方式测试是否单击了按钮:

单击按钮时,某些元素类从更改wrapper-containerwrapper-container-expanded(我不想检查单击按钮时是否调用了该函数-这不是我的目的)。

我正在尝试通过以下方式进行检查:

it('should class be changed', ()=>{ 
   fixture.detectChanges()
   clickedElement.nativeElement.click() // click the button that causes the class change
   elementToBeExpanded = fixture.debugElement.nativeElement.querySelector('wrapper-container-expanded')
   expext(elementToBeExpanded).toBeTruthy() // check if the element with the new class exists in the DOM -the elementToBeExpanded is null
})

虽然我可以看到调用了函数并更改了类,但是找不到具有新类的元素并且旧的wrapper-container似乎存在。

4

1 回答 1

4

您需要fixture.detectChanges()在点击事件之后调用。

it('should class be changed', () => { 
   // ...
   clickedElement.nativeElement.click() // click the button that causes the class change
   fixture.detectChanges()              // detect the changes!!
   // ...
})
于 2019-12-02T12:38:50.933 回答