В модульном тестировании angular с использованием jasmine мы можем протестировать представление (HTML-контент) двумя способами.
Получение элементов из DebugElement
fixture.debugElement.queryAll(By.css('.tableData.billStatus.text-center'))
Получение элементов из DOM.
fixture.debugElement.nativeElement.querySelectorAll('.tableData.billStatus.text-center')
Мой вопрос не связан с queryAll и querySelectorAll. Это DOM против DebugElement. Потому что, когда я использую любой из них, в большинстве случаев они дают мне правильный результат.
Этот вопрос имеет какое-то отношение к этому проблема
Они дают обходной путь для просмотра элементов DOM, а не DebugElement как обходной путь. Так что же отличает этих двоих друг от друга?
Я просмотрел несколько сообщений на предмет различий, прежде чем задать этот вопрос. Но я не нашел в этом ничего подходящего.
Вы проверяли эту ссылку? stackoverflow.com/questions/37705599/…
@NarendraSolanki Да, я видел этот пост, но вопрос в том, как DebugElement связан с DOM. Если DebugElement является классом angular, он не должен внутренне ссылаться на элементы DOM. Если да, то почему это дает разные результаты?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


debug element содержит ссылки и методы на компонент или элемент, тогда как native element - это ссылка на элемент DOM.
Вы можете подробнее рассказать об этом? Мой вопрос не касался определения nativeElement. Речь идет о связи или различии между элементом отладки и DOM.
когда я говорю DOM, я имею в виду, что вы сможете видеть стили, классы, атрибуты innerHTML и т. д. в собственном элементе. Однако, когда я говорю «ссылка на компонент», вы сможете увидеть только такие свойства, как форсунки! надеюсь, я смогу это прояснить !!
fixture.debugElement.querySelectorAll ('. tableData.billStatus .text-center'). nativ eElement, вы имеете в виду это верно?