Как я могу получить DebugElement для содержимого MatDialog? - PullRequest
0 голосов
/ 06 мая 2020

При тестировании компонента Angular я могу получить DebugElement из ComponentFixture и использовать его для запроса с помощью метода query следующим образом:

const fixture = TestBed.createComponent(MyComponent);
const debugEl = fixture.debugElement;
...
const elem: DebugElement = debugEl.query(By.css("some-inner-component"))

Но, когда тестирование MatDialog, я не могу найти способ получить DebugElement, все, что я могу получить, это componentInstance, поэтому я вынужден использовать document.querySelector для запроса внутреннего elements:

const dialog = TestBed.get(MatDialog);
const dialogRef = dialog.open(MyComponent);
...
const elem: HTMLElement = document.querySelector("some-inner-component")

Есть ли способ получить DebugElement, чтобы я мог тестировать диалоги материалов так же, как я тестирую остальную часть моего кода?

Причина, по которой я этого не делаю хотите использовать HTMLElement, потому что все наши собственные библиотеки тестирования уже ожидают DebugElements, поэтому было бы большим изменением изменить его, чтобы он также принимал HTMLElements.

Спасибо.

...