[英]Angular unit testing TypeError: Cannot read property 'subscribe' of undefined
[英]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.