У меня есть компонент, который отображает таблицу с использованием таблицы материалов.Он работает нормально, но в моем spec-файле таблица не отображает элементы тела (tds и trs), поэтому тест не пройден.Кажется, что я правильно инициализирую текст, импортирую MatTableModule, а также инициализирую источник данных для таблицы mat.
Компонент get, входящий в источник данных, не асинхронный, и я вызываю fixture.detectChanges () после инициализации ввода.
Визуализируются теги table и body, но тег body пуст.Любые предложения, почему данные таблицы не отображаются?
Спасибо
вот пример кода теста:
let component: MyComponent;
let fixture: ComponentFixture<MyComponent>;
const dataSource: DataSource[] = [{id: 1, name: 'a'}];
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations:[MyComponent],
imports: [MatTableModule],
}));
beforeEach(() => {
fixture = TestBed.createComponent(MyComponent);
component = fixture.componentInstance;
debugElement = fixture.debugElement
});
it('should display results', () => {
component.myDataSource = dataSource;
fixture.detectChanges();
console.log(debugElement.nativeElement); //here I see that the body is empty
const elements = debugElement.queryAll(By.css('td'));
expect(elements.length).toBe(2); // I get 0
});