У меня есть тип HTMLElement, инициализированный в начале моего класса компонентов, например:
Мой класс компонентов:
import { Component, AfterViewInit, Renderer, ElementRef, OnInit} from '@angular/core';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
import { Router } from '@angular/router';
import { JhiEventManager } from 'ng-jhipster';
@Component({
selector: 'jhi-login-modal',
templateUrl: './login.component.html'
})
export class JhiLoginModalComponent implements AfterViewInit, OnInit {
domElement: HTMLElement;
constructor(
private login1: ElementRef
) {
}
ngOnInit() {
this.accessDomElement();
}
accessDomElement() {
this.domElement = this.login1.nativeElement.querySelector(`#login123`);
}
Мой тестовый класс:
import { ComponentFixture, TestBed, async, inject, fakeAsync, tick } from '@angular/core/testing';
describe('LoginComponent', () => {
let comp: JhiLoginModalComponent;
let fixture: ComponentFixture<JhiLoginModalComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
............
}));
beforeEach(() => {
fixture = TestBed.createComponent(JhiLoginModalComponent);
comp = fixture.componentInstance;
....
});
//MY TEST
it ('The form login should have the field Nombre', async(() => {
console.log('lalalalla' + comp.domElement);
expect(comp.domElement.innerHTML).toContain('Login');
}));
Теперь я хочу протестировать domElement в классе тестирования.
Но он возвращает неопределенное значение, когда я печатаю domElement.
Мой HTML-элемент:
<label id="login123" for="username" jhiTranslate="global.form.username">Login</label>
Я хочу протестировать ЭТОТ ЭЛЕМЕНТ ДОМЕЛЕМЕТА ТИПА HTMLELEMENT.
Я делаю ошибку в инъекции ?? Потому что это дает мне эту ошибку:
Невозможно прочитать prHerty innerHTMLof undefined и вывести undefined в консоли.