#angular #jasmine #karma-jasmine
#angular #жасмин #карма-жасмин
Вопрос:
У меня есть переменная с именем stateSubscrition $, которую я использую для удержания и отмены подписки, и она работает хорошо. Но мне нужно знать, как имитировать stateSubscription $ для написания модульного теста для ondes
stateSubscription$: Subscription;
...
this.stateSubscription$ = this.updatedScheduleActivities$.subscribe((x) => {
this.loadGrid();
});
...
ngOnDestroy() {
this.stateSubscription$.unsubscribe();
}
и в файле спецификации
fdescribe('#onDestroy', () => {
let component;
beforeEach(() => {
component = new VariableComponent(mockStore, mockForm);
spyOnProperty(component,'stateSubscription
Я получаю такую ошибку, как издеваться над этим свойством??
Error: stateSubscription$ property does not exist
Ответ №1:
Вы всегда можете инициализировать stateSubcription$
с пустым Subscription
stateSubscription$ = new Subscription();
Таким образом, вам не придется беспокоиться о undefined
доступе к свойству.
,'get').and.returnValue(Observable);
component.ngOnDestroy();
});
it('should have called unsubscribe method', () => {
expect(component.stateSubscription$.unsubscribe).toHaveBeenCalled();
});
});
Я получаю такую ошибку, как издеваться над этим свойством??
Error: stateSubscription$ property does not exist
Ответ №1:
Вы всегда можете инициализировать stateSubcription$
с пустым Subscription
Таким образом, вам не придется беспокоиться о undefined
доступе к свойству.