Я новичок в угловом тестировании. Итак, я следовал этому множественному взгляду .
Я получаю ту же ошибку
Невозможно прочитать свойство 'подписка' из неопределенного
независимо от того, что я делаю.
describe('AnnualReportComponent', () => {
let fixture: ComponentFixture<AnnualReportComponent>;
let mockReportService;
let REPORTITEMS = [
{ id: 1, title: 'title 1' },
{ id: 2, title: 'title 2' },
{ id: 3, title: 'title 3' }
]
beforeEach(() => {
mockReportService = jasmine.createSpyObj('ReportService', ['getAnnualReport']);
TestBed.configureTestingModule({
imports: [FormsModule],
declarations: [AnnualReportComponent],
providers: [
{ provide: ReportService, useValue: mockReportService }
],
schemas: [
NO_ERRORS_SCHEMA
]
});
fixture = TestBed.createComponent(AnnualReportComponent);
component = fixture.componentInstance;
});
it('should create', () => {
fixture.detectChanges();
mockReportService.getAnnualReport.and.returnValue(of(REPORTITEMS));
expect(component).toBeTruthy();
});
});
Это компонент
export class AnnualReportComponent implements OnInit, OnChanges {
ngOnInit() {
this.getAnnualReport();
}
getAnnualReport () {
this.reportService
.getAnnualReport(this.fiscalYear)
.subscribe(item => {
this.reportItems = item});
}
}
Я получаю эту ошибку:
TypeError: Невозможно прочитать свойство 'subscribe' из неопределенного
at AnnualReportComponent.getAnnualReport (веб-пакет: /// C: /../AnnualReportComponent.component.ts?: 92: 13)
at AnnualReportComponent.ngOnInit (веб-пакет: /// C: /../AnnualReportComponent.component.ts?: 57: 14)
Это моя первая работа по Карме, но я не могу ее запустить. Я не знаю, пропустил ли я что-то.
Спасибо за помощь.