@input 元素失败的默认测试用例问题
Issue with @input element failing default test case
相对较新的测试框架,面临以下问题,我 运行 'npm run test' 在新创建的 spec.ts 文件上没有添加额外的测试用例
我遇到的问题是 map function used upon @input element is undefined
spec.ts
beforeEach(() => {
fixture = TestBed.createComponent(InputComponent);
component = fixture.componentInstance;
fixture.detectChanges();
component.ngOnInit();
});
it('should create', () => {
expect(component).toBeTruthy();
});
InputComponent.ts
@Input() set column(colData: Columns[]) {
this.columns = colData;
}
ngOnInit(){
this.colName = this.columns.map(col => col.name);
}
TypeError: 无法读取未定义的 属性 'map'
你只需要输入变量的初始值并确保它是数组。因为 map 是一个 属性 数组。
InputComponent.ts
columns = []; <-- initial value;
@Input() set column(colData: Columns[]) {
this.columns = colData;
}
ngOnInit(){
this.colName = this.columns.map(col => col.name); <-- You haven't declared the initial value of the "this.columns"
}
相对较新的测试框架,面临以下问题,我 运行 'npm run test' 在新创建的 spec.ts 文件上没有添加额外的测试用例
我遇到的问题是 map function used upon @input element is undefined
spec.ts
beforeEach(() => {
fixture = TestBed.createComponent(InputComponent);
component = fixture.componentInstance;
fixture.detectChanges();
component.ngOnInit();
});
it('should create', () => {
expect(component).toBeTruthy();
});
InputComponent.ts
@Input() set column(colData: Columns[]) {
this.columns = colData;
}
ngOnInit(){
this.colName = this.columns.map(col => col.name);
}
TypeError: 无法读取未定义的 属性 'map'
你只需要输入变量的初始值并确保它是数组。因为 map 是一个 属性 数组。
InputComponent.ts
columns = []; <-- initial value;
@Input() set column(colData: Columns[]) {
this.columns = colData;
}
ngOnInit(){
this.colName = this.columns.map(col => col.name); <-- You haven't declared the initial value of the "this.columns"
}