У меня есть приложение Angular 2, над которым я работаю, что по некоторым причинам совместимости с устаревшим кодом необходимо получить некоторую информацию через атрибуты, используемые в компоненте приложения. Например, HTML, который запускает угловое 2 приложение будет выглядеть следующим образом:Угловое определение атрибута nativeElement в компоненте приложения
<myApp id="xyz" areaDone="true" value="" requestID="abc"> Loading ... </myApp>
Однако, когда я пытаюсь написать несколько модульных тестов вокруг поведения, которое, как предполагается, происходит на основе наличия и значении этих атрибутов , они имеют значение null/undefined.
Чтобы получить значение, мы просто потянув их в конструкторе вроде этого:
let native = this.elementRef.nativeElement;
this.requestID= native.getAttribute("requestID");
Итак, есть путь через стендовые/поставщик, чтобы заставить нативный элемент, который должен иметь ожидаемые атрибуты?
Я понимаю, что, как и к тому, как увидеть атрибуты в но мне нужно знать, как установить их в исходном элементе. Насколько я могу судить, тестовый жгут просто запускает его с помощью тега div с атрибутом id, и я не могу найти способ вставить в конструктор издеваемую ElementRef или настроить тестовый бегун, чтобы передать те атрибуты должны быть прочитаны из dom – jspriggs
Извините, полностью непонятый вопрос. я просто просмотрел код, и похоже, что есть только четыре ссылки на функцию 'insertRootElement' в @ angular/core/testing. Если функция определена, она принимает только один параметр (id) и где он используется, он вызывает эту функцию, а затем сразу вызывает фабрику компонента. Я не думаю, что это будет возможно, если вы не разветвите это или не пишите. –