Невозможно проверить магазин выберите подписаться - PullRequest
1 голос
/ 10 мая 2019

Я получаю сообщение об ошибке «Не удается прочитать свойство« подписка »неопределенного» при попытке протестировать этот компонент ngOnInit ();

Я добавил select.and.callFake (), который решил эту проблему некоторое время назад, но теперь не работает.

ngOnInit() {
        this.store.select(STORE_USER_REPORT_INFO_STATE).subscribe((userReportInfo: any[]) => {
            if(userReportInfo){
                userReportInfo.forEach((data)=> {
                    if(data.InstanceId == this.id) {
                        this.isFavorite = data.IsFavorite;
                    }
                });
            }
        });
    }


describe('OnlineReportPopupComponent', () => {
let component: OnlineReportPopupComponent;
let fixture: ComponentFixture<OnlineReportPopupComponent>;
let mockStoreUserReportAccessObservable: Observable<any>;
let mockStore;
beforeEach(() => {

        mockStore = jasmine.createSpyObj("Store", ["select"]);
        mockStore.select.and.callFake((stateType: string) => {
            switch (stateType) {
                case STORE_USER_REPORT_INFO_STATE:
                    return mockStoreUserReportAccessObservable;
            }
        });

TestBed.configureTestingModule({
            declarations: [ OnlineReportPopupComponent],
            providers: [
                {provide: Store, useValue: mockStore}
            ]
        });
fixture = TestBed.createComponent(OnlineReportPopupComponent);
        component = fixture.debugElement.componentInstance;
fixture.detectChanges();

 });
}

1 Ответ

0 голосов
/ 10 мая 2019

Что ж, похоже, не многие разработчики сейчас делают UT в течение нескольких дней: P

Может решить эту проблему, создав экземпляр наблюдаемого:

mockStoreUserReportAccessObservable = new Observable<any>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...