Angular Jasmine Test не работает с помощью ngOninit Test - PullRequest
0 голосов
/ 06 мая 2020

Я пишу жасминовый тест для своего angular приложения. Но у меня возникла ошибка на ngOninit ()

TypeError: Cannot read property 'cStations' of undefined 

, мой код выглядит так: -

public ngOnInit(): void {
    if (this.sResult.cStations) {
      this.cStations = this.sResult.cStations;
    } else if (this.sResult.rs) {
      this.cStations = this.sResult.rs.length > 0 ? this.sResult.rs[0].cStations : undefined;
    }
  }

, а мой модульный тест выглядит так: -

describe('BarChartHorizontalComponent', () => {
  let component: BarChartHorizontalComponent;
  let fixture: ComponentFixture<BarChartHorizontalComponent>;
  let cStations: CStation;
  beforeEach(async(() => {
    TestBed.configureTestingModule({
      declarations: [ BarChartHorizontalComponent ]
    })
    .compileComponents();
  }));

  beforeEach(() => {
    fixture = TestBed.createComponent(BarChartHorizontalComponent);
    component = fixture.componentInstance;
    component.cStations = [];
    fixture.detectChanges();
  });
  afterEach(() => {
    fixture.destroy();
  });

  it('should have input value', () => {
    expect(component.cStations).toBeTruthy();
  });
});

вопрос в том, как я могу определить или инициализировать свойства в тесте для функции ngOninit

любые решения ??

1 Ответ

0 голосов
/ 06 мая 2020

Замените

 component.cStations = [];

на

 component.sResult = {cStations: []};
...