Я пытаюсь проверить мой файл сообщения подтверждения. но получаю ошибку как
Cannot find name 'control'.
Но я не могу это исправить. Кто-нибудь мне помочь?
вот мой файл компонента TS:
import { Component, Input } from '@angular/core';
import { ValidationService } from './../../services/validation.service';
@Component({
selector: 'control-messages',
templateUrl: './control-messages.component.html',
styleUrls: ['./control-messages.component.css']
})
export class ControlMessagesComponent {
@Input() control: any;
constructor() { }
get errorMessage() {
for ( const propertyName in this.control.errors ) {
if (this.control.errors.hasOwnProperty(propertyName) && (this.control.dirty || this.control.touched)) {
return ValidationService.getValidatorErrorMessage(propertyName, this.control.errors[propertyName]);
}
}
return null;
}
}
вот мой файл спецификации теста:
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { ControlMessagesComponent } from './control-messages.component';
import { ValidationService } from './../../services/validation.service';
describe('ControlMessagesComponent', () => {
let component: ControlMessagesComponent;
let fixture: ComponentFixture<ControlMessagesComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ControlMessagesComponent ],
imports: [FormsModule, ReactiveFormsModule],
providers: [
{ provide: ValidationService }
]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(ControlMessagesComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
здесь ошибка:
TypeError: Cannot read property 'errors' of undefined
13 |
14 | get errorMessage() {
> 15 | for ( const propertyName in this.control.errors ) {
| ^
16 | if (this.control.errors.hasOwnProperty(propertyName) && (this.control.dirty || this.control.touched)) {
17 | return ValidationService.getValidatorErrorMessage(propertyName, this.control.errors[propertyName]);
18 | }