簡體   English   中英

TypeError:無法讀取未定義的屬性'id'-Angular 8 Testing

[英]TypeError: cannot read property 'id' of undefined - Angular 8 Testing

我收到TypeError:嘗試在我的angular 8應用程序中執行單元測試時,無法讀取未定義的屬性“ id”。

這是我的模板

 <h4>{{student.id}}</h4> 

這是我的組件

 import {Component, EventEmitter, Input, OnInit} from '@angular/core'; import { Student } from '@app/app-types'; @Component({ ...... saved some typing }) export class StudentComponent implements OnInit { @Input() student: Student; refreshForm: EventEmitter<any>; constructor(){} ngOnInit(){ this.refreshForm = new EventEmitter(); } } 

這是單元測試

 import {async, ComponentFixture, TestBed } from '@angular/core/testing'; import {StudentComponet} from './student-component'; describe('StudentComponet', () => { let component: StudentComponent; let fixture: ComponentFixture<StudentComponent>; beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [StudentComponent] }).compileComponents(); })); beforeEach(() => { fixture = TestBed.createComponent(StudentComponent); component = fixture.componentInstance; fixture.detectChanges(); }); it('should create', () => { expect(component).toBeTruthy(); }) }); 

采用

student?.id

在單元測試中,您必須提供附加值

beforeEach(() => {
  ...
  component.student = value;
  fixture.detectChanges();
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM