Тестовый случай с жасмином Не удается прочитать свойство 'close' из неопределенного - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь написать тестовый блок для метода close, но когда я делаю ng test, я получаю следующую ошибку

TypeError: Cannot read property 'close' of undefined

Ниже мой тестовый код

describe('CPComponent', () => {
    let fixture: ComponentFixture<CPComponent>;
    let component: CPComponent;
    let de: DebugElement;
    let el: HTMLElement;


    beforeEach(() => {
        TestBed.configureTestingModule({
            schemas: [ CUSTOM_ELEMENTS_SCHEMA ],
            declarations: [ CPComponent ],
            imports: [CommonModule, CookieModule.forRoot()],

        });
        TestBed.compileComponents();
        fixture = TestBed.createComponent(CPComponent);
    });

 it('should close the banner', () => {
        component.close();
        const comp = fixture.componentInstance;
        fixture.detectChanges();
        de = fixture.debugElement.query(By.css('.bwc-o-display-2'));
        el = de.nativeElement;
        expect(el.textContent).toBeUndefined();
      });

Мой метод закрытия

close() {
    this.cpBanner = false;
    this.cookieService.put( 'CP_BANNER', 'true' );
  }

Пожалуйста, скажите мне, что я здесь делаю неправильно.

1 Ответ

0 голосов
/ 07 сентября 2018

Переменная component никогда не назначается. Вы также должны изменить порядок исполнения. Попробуйте это:

it('should close the banner', () => {
    component = fixture.componentInstance; // assign component
    component.close(); // use component
    fixture.detectChanges();
    de = fixture.debugElement.query(By.css('.bwc-o-display-2'));
    expect(de).toBeFalsy();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...