карма как мне проверить цикл for при вызове подписки

#unit-testing #for-loop #karma-jasmine #subscription #angular12

Вопрос:

У меня есть этот цикл в коде подписки, который мне нужно протестировать, но я понятия не имею, как к этому подойти (не так много опыта работы с модульными тестами), поэтому простите мое невежество. У меня есть аналогичный код в других файлах, поэтому, если я смогу успешно протестировать это, я могу применить его к другим сервисам — я просмотрел другие сообщения здесь, на stackoverflow, но, честно говоря, я их не понимаю, и мне нужно попытаться разобраться в этом модульном тестировании, поэтому любая помощь здесь будет очень признательна

 getData() {  this.period.getAllDocsDataToday()  .pipe(takeUntil(this.destroy$))  .subscribe((data) =gt; {  const dateRange = {  dateFrom: data.rangeFrom,  dateTo: data.rangeTo,  };  const waveData = data.chartModels;  for (let i = 0; i lt; Object.keys(waveData).length; i  ) {  this.totalNoOfDocsDay.push( waveData[i].overall );  this.failNoOfDocsDay.push( waveData[i].failed );  this.sentNoOfDocsDay.push( waveData[i].sent );  this.dateOfDocsDay.push( waveData[i].dateOfDay );  }  this.period.setDateRange(dateRange);  }); }  

В основном ищу пошаговый подход — вот мой файл спецификаций:

 import { TestBed } from '@angular/core/testing'; import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; import { AllDocsChartService } from './all-docs-chart.service'; import { OrdersChartData } from '../../data/all-docs-view2-chart'; import { ProfitChartData } from '../../data/all-docs-chart'; import { MockDataModule } from '../mock-data.module';  describe('AllDocsChartService', () =gt; {  let allDocsChartService: AllDocsChartService;  let httpMock: HttpTestingController;   beforeEach(() =gt; {  TestBed.configureTestingModule({  imports: [  HttpClientTestingModule,  MockDataModule,  ],  providers: [  AllDocsChartService,  OrdersChartData,  ProfitChartData,  ],  });   allDocsChartService = TestBed.get(AllDocsChartService);  httpMock = TestBed.get(HttpTestingController);  });   it('should call getProfitChartData function', () =gt; {  const period = 'month';  allDocsChartService.getProfitChartData(period);  expect(allDocsChartService).toBeTruthy();  });   it('should call loadChartData function', () =gt; {  allDocsChartService.loadChartData();  expect(allDocsChartService).toBeTruthy();  });   it('should call ngOnDestroy function', () =gt; {  allDocsChartService.ngOnDestroy();  expect(allDocsChartService).toBeTruthy();  }); });  

это покрытие кода: введите описание изображения здесь