测试 class 是否被 Jasmine 和 Karma 改变
Test if class is changed with Jasmine and Karma
我正在尝试通过以下方式测试按钮是否被点击:
单击按钮时,某些元素 class 从 wrapper-container
更改为 wrapper-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
})
虽然我可以看到调用了函数并且更改了 class,但是找不到带有新 class 的元素,而旧的 wrapper-container
似乎存在。
点击事件后需要调用fixture.detectChanges()
it('should class be changed', () => {
// ...
clickedElement.nativeElement.click() // click the button that causes the class change
fixture.detectChanges() // detect the changes!!
// ...
})
我正在尝试通过以下方式测试按钮是否被点击:
单击按钮时,某些元素 class 从 wrapper-container
更改为 wrapper-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
})
虽然我可以看到调用了函数并且更改了 class,但是找不到带有新 class 的元素,而旧的 wrapper-container
似乎存在。
点击事件后需要调用fixture.detectChanges()
it('should class be changed', () => {
// ...
clickedElement.nativeElement.click() // click the button that causes the class change
fixture.detectChanges() // detect the changes!!
// ...
})