Я начинаю угловые юнит-тесты с Жасмин и Кармой.Для проверки я написал небольшой компонент.Мой компонент выглядит следующим образом:
import { Component, OnInit, Input } from '@angular/core';
@Component({
selector: 'app-input',
template: `{{ message }}`,
styleUrls: ['./input.component.css']
})
export class InputComponent implements OnInit {
@Input() message: string;
constructor() { }
ngOnInit() {
}
}
У меня есть следующие тестовые тесты для тестирования вышеуказанного компонента:
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { InputComponent } from './input.component';
describe('InputComponent', () => {
let component: InputComponent;
let fixture: ComponentFixture<InputComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ InputComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(InputComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
it('should correctly render the passed @Input value', () => {
component.message = 'Hi there';
fixture.detectChanges();
expect(fixture.debugElement.nativeElement.innerHTML).toBe('Hi there');
});
});
Это нормально, и тест дает ожидаемый результат.Но когда я разделил свой HTML в файле шаблона, тестовый исполнитель выдает следующую ошибку:
Ожидается, что «Привет!» Будет «Привет!».
После разделения,мой файл компонента и шаблона выглядит следующим образом:
import { Component, OnInit, Input } from '@angular/core';
@Component({
selector: 'app-input',
templateUrl: './input.component.html',
styleUrls: ['./input.component.css']
})
export class InputComponent implements OnInit {
@Input() message: string;
constructor() { }
ngOnInit() {
}
}
Содержимое файла моего шаблона:
{{ message }}