Angular 角度服务';s属性为';t在创建时设置
我正在尝试测试以下角度(4.1)服务: 但是,我得到了一个错误: 无法读取未定义的属性“subscribe”Angular 角度服务';s属性为';t在创建时设置,angular,unit-testing,typescript,jasmine,Angular,Unit Testing,Typescript,Jasmine,我正在尝试测试以下角度(4.1)服务: 但是,我得到了一个错误: 无法读取未定义的属性“subscribe” 我真的不明白为什么它是未定义的,因为它应该在服务创建时设置 您需要将此行放入构造函数中 answer$ = this.answerSource.asObservable(); 保证在运行构造函数之前初始化answerSource主题如果不使用asObservable,它是否有效?我仍然得到相同的结果? beforeEach(() => { TestBed.confi
我真的不明白为什么它是未定义的,因为它应该在服务创建时设置 您需要将此行放入构造函数中
answer$ = this.answerSource.asObservable();
保证在运行构造函数之前初始化answerSource主题如果不使用
asObservable
,它是否有效?我仍然得到相同的结果?
beforeEach(() => {
TestBed.configureTestingModule({
providers: [JobService]
});
});
it('should emit $answer on answer()', inject([JobService], (service: JobService) => {
service.answer$.subscribe(val => expect(val).toEqual('test123'));
service.answer(('test123' as any))
}));
answer$ = this.answerSource.asObservable();