我正在尝试与Karma和Jasmine一起学习角单元测试。
我的问题是,当我尝试测试创建的组件时,得到:'TypeError:无法读取未定义的属性'subscribe'' 因为我在ngOnInit()中有订阅,而且我不知道如何在方法内部测试订阅。
感谢您的帮助:)
答案 0 :(得分:1)
在生命周期中,您在init生命周期中所订阅的所有内容都是组件的输入,因此您必须在测试中设置此值。
it('should create', () => {
// Here you have to set every input used on your ngOnInit()
component.cast = new Observable((observer) => { observer.next(true); });
component.cast2 = new Observable((observer) => { observer.next(true); });
component.cast3 = new Observable((observer) => { observer.next('test'); });
expect(component).toBeTruthy();
});