我正在尝试为组件中的功能之一编写单元测试,在此示例中,它是“ setup”。 'setup'调用另一个函数'additionalSetup',该函数在执行pipe(take(1))时订阅商店,并获取第一个发射:
private setup() {
// ...declares/assigns a few variables in the component
this.additionalSetup() ;
}
private additionalSetup() {
this.store.pipe(take(1)).subscribe(/*logic here, but you get the idea*/);
}
我的单元测试似乎失败,并显示以下错误:
TypeError:无法读取未定义的属性“管道”
在“设置”单元测试中,我尝试模拟“ additionalSetup”:
component.additionalSetup = jest.fn();
这似乎不起作用。我对玩笑还很陌生,但我仍在学习。我将采取什么方法解决此错误?
答案 0 :(得分:0)
您的组件已经创建,因此它已经调用了component.additionalSetup
。
为了解决该问题,您必须在创建组件之前模拟additionalSetup
。
const component = await render(MyComponent, {
componentProperties: {
additionalSetup : jest.fn(),
},
});
或者您可以实现此yourself