Во время моего теста я получаю эту ошибку could not find an object to spy upon for navigateBackToLanding
.
Я выполнил поиск и выполнил все шаги, которые были упомянуты, но все равно получаю ошибку
could not find an object to spy upon for navigateBackToLanding
Не уверен, что мне здесь не хватает.
component.ts
ngOnInit () {
this.bwcPageTemplateCommunicatorService.subheader.next({
title: this.title,
backAction: {
label: 'back',
callback: () => this.navigateBackToLanding()
}
});
}
public navigateBackToLanding () {
this.router.navigate(['portal']);
}
spec.ts компонента
describe('CpDetailPageComponent', () => {
let component: CpDetailPageComponent;
let fixture: ComponentFixture<CpDetailPageComponent>;
let onClickMock;
beforeEach(async(() => {
TestBed.configureTestingModule({
schemas: [CUSTOM_ELEMENTS_SCHEMA],
imports: [RouterTestingModule],
declarations: [CpDetailPageComponent],
providers: [
BwcPageTemplateCommunicatorService,
BwcTocService,
BwcScrollSpyService,
BwcScrollService
]
});
TestBed.compileComponents();
fixture = TestBed.createComponent(CpDetailPageComponent);
onClickMock = spyOn(component, 'navigateBackToLanding').and.callThrough();
}));
it('should call navigateBackToLanding method', () => {
fixture.debugElement.query(By.css('button')).triggerEventHandler('click', null);
expect(onClickMock).toHaveBeenCalled();
});
});
HTML
<button class="bwc-subheader__button-back ng-star-inserted" mat-icon-button="" type="button" aria-label="back"></button>