如果在Angular 9中,debugElement.classes['my-class']
返回undefined,可能有以下几个解决方法:
fixture.detectChanges()
来确保组件已经被渲染到DOM中。fixture.detectChanges();
expect(debugElement.classes['my-class']).toBeTruthy();
By.css
选择器来查找目标元素,然后使用nativeElement
来访问其属性。import { By } from '@angular/platform-browser';
const targetElement = fixture.debugElement.query(By.css('.my-class')).nativeElement;
expect(targetElement.classList.contains('my-class')).toBe(true);
const targetElement = fixture.debugElement.nativeElement;
expect(targetElement.classList.contains('my-class')).toBe(true);
请根据您的具体情况选择适合的解决方法。